我正在尝试编写一个持久性/高速缓存的脚本。该守则将是这个样子:编写持久性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