제대로 작동하는 스크립트를 얻었으며 그 결과가 만족 스럽습니다. 여기에서 찾은 정보 덕분입니다.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