my $filePath = '/path/to/file';
my $fileContent;
open(my $F, '<', $filePath) or die $!;
binmode($F);
{
local $/;
$fileContent = <$F>;
}
close($F);
# переменная $fileContent - содержит весь файл $filePath
Будьте осторожны: если файл большой, то расход памяти будет соответствующий.
Опубликовано: 23 октября 2005 года.
Комментарии посетителей сайта
comhunt
28.03.2014 08:25
surr, без binmode(F) у вас все будет хорошо работать, но до тех пор пока в вашем файле не окажется нулевой байт... А нулевой байт вызовет остановку работы программы, как и в языке С
surr
11.11.2012 19:00
без binmode(F) тоже вроде работает.
зачем объявлять binmode для F ?
Ответ: 11.11.2012 19:33
выдержка из документации:
On some systems (in general, DOS and Windows-based systems)
binmode() is necessary when you're not working with a text
file. For the sake of portability it is a good idea to always
use it when appropriate, and to never use it when it isn't
appropriate. Also, people can set their I/O to be by default
UTF-8 encoded Unicode, not bytes.