私がこのようなものを持っているふりをしましょう (悪い perl スタイルを許してください - これは誰か他の人の Perl です.)
#!/usr/bin/perl
my $config_dir = '/var/config';
my $status_file = 'last_update.status';
my $host = shift;
chomp($host);
unless ( $host ) { die "Usage: $0 <hostname>\n"; }
open(STATUS,">$config_dir/$host/$status_file") or die "Could not open $config_dir/$host/$status_file for writing. Aborting...\n";
print STATUS time() . "\n";
close(STATUS);
so のようにコマンドライン経由で呼び出されますupdate_status.pl foo
。
私が期待すること: /var/config/foo/last_update.status には現在のタイムスタンプが含まれています。
実際に何が起こるか: /var/config/foo/last_update.status には古いタイムスタンプが含まれています。
さて、スクリプトは死にません。正常に完了し、終了コード 0 を bash に返します。これは、perl 5.10.1 を実行する Debian Linux ボックスです。
私の質問は次のとおりです。どうすれば検査できSTATUS
ますか?Data::Dumper はまったく役に立ちません。
ありがとう。