永続的な/キャッシュされたスクリプトを作成しようとしています。永続的なperlスクリプトの作成
value=`perl my_script.pl`;
を次のようにループでシェルスクリプトから呼び出されます
...
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;
}
が、私はそれように、このスクリプトを呼び出すことができます方法はあり:コードは次のようになりますその状態を維持します。コールからコールへ。 '%my_hash'の初期化とextract_values_from_fileの呼び出しの両方が高価な操作であると仮定します。
ありがとうございました
IMOこれは、スクリプトの使用頻度によって異なります。今すぐ実行する場合は、シリアライゼーション手法を使用してください。それ以上の場合 - 例えば、何らかの重要なリアルタイムの相対的な目的に役立っている - それを永続的なバックグラウンドサーバ/ IPCを使用するようにする。 – delicateLatticeworkFever