Perl自定义运行时格式
我有一个问题,这是我放弃之前的最后手段,我是Perl的新手,我已经接近了互联网搜索解决方案的终点 ***我没有安装任何东西的权限,因此它必须是Perl5的本机 我有一个脚本,需要计算脚本的总运行时间,并以存储在变量中的00.00“分.秒”输出结果 以下是失败的尝试:Perl自定义运行时格式,perl,time,output,Perl,Time,Output,我有一个问题,这是我放弃之前的最后手段,我是Perl的新手,我已经接近了互联网搜索解决方案的终点 ***我没有安装任何东西的权限,因此它必须是Perl5的本机 我有一个脚本,需要计算脚本的总运行时间,并以存储在变量中的00.00“分.秒”输出结果 以下是失败的尝试: #!/usr/bin/perl use Time::Piece; use POSIX qw(strftime); my $start = localtime->strftime($unixtime); sleep(10);
#!/usr/bin/perl
use Time::Piece;
use POSIX qw(strftime);
my $start = localtime->strftime($unixtime);
sleep(10);
my $end = localtime->strftime($unixtime);
my $diff = $end - $start;
my $runtime = printf("%M.%S", $diff);
print $runtime;
我确实玩了一点,结果得到了“10”秒,但这不是正确的格式。如果脚本运行10秒,则输出应为“00.10”
如果脚本运行1分55秒,则输出应为“01.55”
有什么办法可以做到这一点吗?
我搜索了这篇文章,发现了1篇文章,但都不接近。。。参考:这应该可以做到:
#!/usr/bin/perl
use Time::Piece;
my $start = localtime;
sleep(10);
my $end = localtime;
my $diff = $end - $start;
my $minutes = int $diff->minutes;
my $seconds = $diff->seconds % 60;
my $output = sprintf '%02d.%02d', $minutes, $seconds;
print "$output\n";
不需要时间:一块
my $start = time;
sleep(10);
my $end = time;
my $diff = $end - $start;
my $runtime = sprintf '%d:%02d', int($diff / 60), $diff % 60;
print "$runtime\n";
非常感谢你,大卫!我知道我已经很接近了,但我知道的还不够多,我想关于%02d的事情会把它带到小数点!好。我真的很抱歉我以前的帖子。我真的认为你需要指标。这并不是为CPAN模块做广告的廉价尝试。