假设我有这样的东西(原谅糟糕的 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);
它像这样通过命令行调用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 根本没有帮助。
谢谢。