У Perl есть много удобных идиом для простых вещей, в том числе:
-
Оператор чтения файлов
<HANDLE>
, если он используется без дескриптора файла, будет легко открывать и читать все файлы в@ARGV
, по одной строке за раз:while (<>) { print $., $_; }
-
Посредством (локально) сброса разделителя входных записей
$/
я могу сразу "разбить" весь файл:local $/; $content = <HANDLE>;
Но эти две идиомы работают не так, как я ожидал: после того, как я reset $/
, разрывы с <>
останавливаются в конце файла: Ниже приводится только содержимое первого файла.
local $/; $content = <>;
Теперь я верю, что это поведение должно быть по дизайну, но мне все равно. Какая краткая идиома Perl для получения всего содержимого всех файлов в строку? (В этом связанном вопросе упоминается способ разбить список файлов на отдельные строки, что является началом... но не очень элегантным, если вам все равно нужно присоединиться к строкам впоследствии.)