1 #!/usr/bin/perl
2
3
4
5 my $receive_key;
6 my $end_key;
7 my $Time_Start;
8 my $Time_End;
9 my $Time_Snano;
10 my $Time_Enano;
11
12 print "Now it's time to start timing:";
13 $receive_key=<STDIN>;
14
15 $Time_Start=`date +%s`;
16 $Time_Snano=`date +%N`;
17 $Time_Snano=sprintf("%3d",$Time_Snano);
18 $Time_S=sprintf("%d.%d",$Time_Start,$Time_Snano);
19
20 while(1)
21 {
22 $end_key=<STDIN>;
23 if($end_key)
24 {
25 $Time_End=`date +%s`;
26 $Time_Enano=`date +%N`;
27 $Time_Enano=sprintf("%3d",$Time_Enano);
28 $Time_E=sprintf("%d.%d",$Time_End,$Time_Enano);
29
30 last;
31 }
32 }
33
34
35 #my $timing = $Time_End-$Time_Start;
2
3
4
5 my $receive_key;
6 my $end_key;
7 my $Time_Start;
8 my $Time_End;
9 my $Time_Snano;
10 my $Time_Enano;
11
12 print "Now it's time to start timing:";
13 $receive_key=<STDIN>;
14
15 $Time_Start=`date +%s`;
16 $Time_Snano=`date +%N`;
17 $Time_Snano=sprintf("%3d",$Time_Snano);
18 $Time_S=sprintf("%d.%d",$Time_Start,$Time_Snano);
19
20 while(1)
21 {
22 $end_key=<STDIN>;
23 if($end_key)
24 {
25 $Time_End=`date +%s`;
26 $Time_Enano=`date +%N`;
27 $Time_Enano=sprintf("%3d",$Time_Enano);
28 $Time_E=sprintf("%d.%d",$Time_End,$Time_Enano);
29
30 last;
31 }
32 }
33
34
35 #my $timing = $Time_End-$Time_Start;
36 my $timing = sprintf("The timing is %.2f seconds.\n",$Time_E-$Time_S);
38 print $timing;
相信大家对date +%N 有点陌生, 根据man date文档
%N nanoseconds (000000000..999999999)
求的是纳秒,在这里取前三位代表毫秒数。 这里是按一个回车开始计时,再按一个回车停止计时,如果你不想在开始按回车开始计时,去掉$receive_key=<STDIN>这一行。