我正在嘗試編寫一個持久性/高速緩存的腳本。該守則將是這個樣子:編寫持久性perl腳本
...
Memoize('process_fille');
print process_file($ARGV[0]);
...
sub process_file{
my $filename = shift;
my ($a, $b, $c) = extract_values_from_file($filename);
if (exists $my_hash{$a}{$b}{$c}){
return $my_hash{$a}{$b}{$c};
}
return $default;
}
這將在shell腳本在一個循環中調用如下
value=`perl my_script.pl`;
有沒有一種方法,我可以把這個腳本以這樣一種方式,它將保持其狀態。從呼叫到呼叫。讓我們假設初始化'%my_hash'和調用extract_values_from_file是一個昂貴的操作。
謝謝
IMO取決於腳本的使用頻率。如果它只是偶爾運行,請使用序列化技術。如果它不止於此 - 例如它正在服務某種關鍵的或許是實時的相對目的 - 使它成爲一個持久的後臺服務器/使用IPC。 – delicateLatticeworkFever 2012-04-27 17:51:28