stopwatch.pm

来自「perl learn perl by examples」· PM 代码 · 共 34 行

PM
34
字号
package Stopwatch;

sub TIESCALAR {
   my ($pkg) = @_;
   my $obj = time();  # $obj stores the time at last reset.
   return (bless \$obj, $pkg);
}

sub FETCH {
   my ($r_obj) = @_;
   # Return the time elapsed since it was last reset 
   return (time() - $$r_obj); 
}

sub STORE {
   my ($r_obj, $val) = @_;
   # Ignore the value. Any write to it is seen as a reset
   return ($$r_obj = time());
}

1;


package main;
if (!caller()) {
   # Test driver;
   tie $s1, 'Stopwatch';
   $s1 = 0;
   sleep(2);
   print $s1;
   $s1 = 0;
   sleep(5);
   print $s1;
}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?