如果爲獲取系統/用戶的時間使用Perl代碼(或者times
或POSIX::times
)你可能會得到更好的效果,以及更易於維護的代碼。
$command="ls -lR";
@before{real,user,system,chuser,chsystem}=(time(),times());
system $command;
@after{real,user,system,chuser,chsystem}=(time(),times());
print "real @{[ $after{real}-$before{real} ]}\n";
print "user @{[ $after{chuser}-$before{chuser} ]}\n";
print "sys @{[ $after{chsystem}-$before{chsystem} ]}\n";
或POSIX版本:
use POSIX qw(times sysconf);
$clocks_per_second=POSIX::sysconf(&POSIX::_SC_CLK_TCK);
$command="ls -lR";
@before{real,user,system,chuser,chsystem}=(POSIX::times());
system $command;
@after{real,user,system,chuser,chsystem}=(POSIX::times());
printf "real %2.2f\n", ($after{real}-$before{real})/$clocks_per_second;
printf "user %2.2f\n", ($after{chuser}-$before{chuser})/$clocks_per_second;
printf "sys %2.2f\n", ($after{chsystem}-$before{chsystem})/$clocks_per_second;
嘗試使用\ r \ n? –
實際上,它有效,即時編輯我的問題 –
re:編輯:你是否期待'open'做任何事情?因爲它不是。另外,在腳本結尾處,您不需要「close」或「exit」,因爲腳本結束時會自動完成這些操作。 – TLP