r1 - 06 Aug 2006 - JoenioCosta
Como ler o conteúdo de um arquivo de uma vez
Problema
Você quer ler um arquivo inteiro e colocá-lo na memória.Solução
@file = <FILE>;ou
use File::Slurp;
Discussão
Antes de continuar a leitura, é importante considerar o seguinte: você tem certeza de que de precisa colocar todo o conteúdo do arquivo na memória, de uma vez? Se isto for realmente necessário, esta é a solução que é mais frequentemente encontrada:open (FILE,"...") or die "..."; @file = <FILE>; close FILE;Uma solução mais eficiente, porém, é usar o módulo File::Slurp:
use File::Slurp; my $text = read_file( 'filename' ) ; # scalar context my @lines = read_file( 'filename' ) ; # list contextO File::Slurp também permite escrever o arquivo completo de forma eficiente:
write_file( 'filename', @lines ) ;
