我已经得到了一个体面正常的脚本,并且很满意迄今为止的结果,这在很大程度上归功于我在这里找到的信息。Perl - 如何生成更新时间戳
但是,有一件事我看起来没有正确的是时间戳。目前,我用这
use POSIX qw/strftime/;
my $timestamp = strftime('%m/%d/%Y %I:%M.%S %p %Z',localtime);
当我打电话$时间戳效果很好,只是,它永远是对代码的所有部分相同的时间戳(完全不更新)。
我试图用一个子程序(这是我从来没有做过)来解决这个问题:
sub GetLoggingTime {
use POSIX qw/strftime/;
my $LoggingTime = strftime('%m/%d/%Y %I:%M.%S %p %Z',localtime);
return $LoggingTime;
}
my $timestamp = GetLoggingTime();
print "$timestamp \n";
sleep(2);
print "$timestamp \n";
显然这两个打印和睡眠都尝试,看看它是否是“更新”,它不是。两个时间戳都在同一时间打印。
然后我试图直接调用子程序,在子程序中添加打印并使用GetLoggingTime调用它,但是根本没有任何操作(没有输出)。
我知道我可能错过了一些明显的东西,但我似乎无法找到它。有没有一种简单的方法来实现它的工作,或者有一种简单的方法来获取随着脚本进展而实时更新的时间戳?
在此先感谢!
你必须再次调用你的子程序才能更新数值:) – squiguy