我已經得到了一個體面正常的腳本,並且很滿意迄今爲止的結果,這在很大程度上歸功於我在這裏找到的信息。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