-2
我有這個Perl的腳本,基本上是從查找文件中讀取,但是當我運行它似乎不起作用,但與小輸入文件,但大的,它返回其他carachteres。增加perl腳本的內存?
如果在等同詞中,我有Dog = can這個詞,如果我有一個帶有單詞dog的輸入文件,它會被翻譯成Can。
我該怎麼做才能增加內存容量來運行1GB的輸入文件。
#!/usr/bin/perl
use strict;
use warnings;
use autodie;
open my $LOOKUP , "<" , "equivalents.txt";
open my $LIST , "<" , "input-text.txt";
open my $OUTPUT , ">" , "output.txt";
my %h;
while (<$LOOKUP>) {
chomp;
my ($k, $v) = split /\s*=\s*/;
$h{$k} = $v;
}
while (<$LIST>) {
s/([a-zA-Z0-9]+)/$h{$1} || "[$1]"/eg;
print $OUTPUT $_;
}
怎麼辦你的意思是當你用大文件運行時,它會「返回其他字符」?你怎麼知道你的內存不足? – ThisSuitIsBlackNot
我想,因爲當我運行小輸入文件,它的工作原理。其他字符作爲亞洲語言,也不在等同文件中指定。 – alex
如果你的程序內存不足,那不是你會得到的行爲。您是如何驗證散列內容與輸入文件中的內容不匹配的? – ThisSuitIsBlackNot