У меня есть два вопроса о модуле tie::file
Я использовал модуль tie::file для поиска в файле размером 55 МБ и установил память 20 МБ в tie::file. Когда я пытался найти связанный массив для строки поиска, это заняло много времени. Есть ли какая-нибудь работа для этого?
Может tie::file использоваться для чтения бинарного файла. Связанный массив разделяется символом "\n". Как использовать tie::file для чтения бинарного файла? Не могли бы вы вставить мне пример кода.
/home/a814899> perl -e 'напечатать "x\n"x27 для 1..1024*1024;' >а
/home/a814899> echo "привет, мир" >> a
Using Unix grep
/home/a814899> time grep "hello " a
hello world
real 0m8.280s
user 0m8.129s
sys 0m0.139s
Using the regex
/home/a814899> (time perl -e 'while (<>) { if (/hello/) { print "hello world"} }' a)
hello world
real 0m51.316s
user 0m51.087s
sys 0m0.189s
Using Perl Grep
#!/usr/bin/perl
print "executing\n";
my $outputFileDir="/home/a814899";
my $sFileName="a";
open my $fh, "<", $outputFileDir . "/" . $sFileName or do {
print "Could not open the file";
};
print "success in open" . "\n";
my @out=grep {/hello world/} <$fh> ;
print "@out" ;
close($fh)
tie
ing файлы часто не нужны. - person amon   schedule 18.01.2013