я прочитал где-то о следующем методе, чтобы прочитать весь файл в массив Perl сразу,Читать весь файл сразу в массив
open my $file, '<', $filePath or die "Error: Unable to open file : $!";
my @fileData = <$file>;
close $file;
Я полагаю, что размер массива ограничивается только доступная системная память. Я хотел знать, как именно это работает в фоновом режиме, поскольку здесь нет циклов, чтобы читать файл по строкам и передавать их в массив.
Что можно сказать? В контексте массива, предоставляемом 'my @ fileData', оператор' <> 'считывает строки в массив с неявным циклом. Оно работает. Иногда это полезно. У Perl есть несколько девизов. Один из них - TMTOWTDI - есть больше, чем один способ сделать это. Другой - DWIM - Do What I Mean; по крайней мере, Perl делает это более чем на многих языках, если вы знаете, о чем вы просите. Это кусок духа. –
's/array (? = \ S + context)/list/if $ nitpick;' –
[Разделитель входных данных] (http://perldoc.perl.org/perlvar.html#%24%2f) и файл ([scalar vs list] (https://eval.in/98898)) определяет, как должно вести себя чтение. –