О себе События Портфолио Статьи Гостевая Фотоальбом На злобу дня Ссылки Учеба Программы
Alex_K (г.Киров) - Алексей Кощеев
Хостинг и регистрация доменов в Кирове

Интересные решения Perl. Вопросы и ответы

Как получить содержимое файла в переменную?

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.

Далее: Как правильно упорядочить массив чисел с помощью sort?
Предыдущий вопрос:Как конвертировать строку из UTF-8 в Windows-1251?
Перейти к списку вопросов
Fanshop.ru

Рейтинг@Mail.ru

Rambler's Top100

© Алексей Кощеев, г.Киров, 2001-2017 хостинг предоставлен компанией Айхэд