Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
Форум программистов > Perl: Общие вопросы > как прочитать файл в скаляр? |
Автор: IceSunrise 28.8.2008, 12:48 | ||
Привет! Как можно сразу прочитать содержимое файла в скаляр? Например, если файл текстовый, то я делаю так:
А можно как-нибудь без цикла? А если файл бинарный? Читать порциями по N байт? хочу проще ![]() |
Автор: arto 28.8.2008, 12:57 |
my $body = do { local $/; <FILE> }; |
Автор: AriX 28.8.2008, 13:06 |
File::Slurp |
Автор: IceSunrise 28.8.2008, 13:13 |
arto, спасибо, интересно, но с бинарными не пройдет номер. AriX, спасибо за наводку, так и думал, что есть подобный модуль. |
Автор: gcc 28.8.2008, 13:13 | ||
|
Автор: arto 28.8.2008, 13:25 |
хм, почему не пройдет? # perl -e 'open F,$ARGV[0]; $a = do { local $/; <F> }; print $a;' /bin/ls > ls # cmp /bin/ls ls # |
Автор: IceSunrise 28.8.2008, 15:47 |
arto, вы правы! Прочитал, что когда переменная $/ не определена, это заставляет perl проглатывать целые файлы сразу. Здорово, спасибо! ![]() |
Автор: nitr 28.8.2008, 17:33 |
gcc, ROFL arto, прав. IceSunrise, надеюсь у вас файлы маленькие ;) |