NAME
   Sub::Timekeeper - calls a function with a stopwatch

SYNOPSIS
       use Sub::Timekeeper qw(timekeeper);

       my $val = timekeeper(my $elapsed, sub {
           ...
           return $retval;
       });

       my @arr = timekeeper(my $elapsed, sub {
           ...
           return @retarr;
       });

DESCRIPTION
   The module exports the "timekeeper" function, that can be used to
   measure the time spent to execute a function. The duration is set to the
   first argument in seconds (as a floating point value).

   The duration is set regardless of whether the called function returned
   normally or by an exception. In other words the following snippet will
   report the correct duration.

       my $elapsed;
       eval {
           timekeeper($elapsed, sub {
               ...
           }
       };
       if ($@) {
           warn "got error $@ after $elapsed seconds";
       }

AUTHOR
   Kazuho Oku

LICENSE
   This program is free software; you can redistribute it and/or modify it
   under the same terms as Perl itself.

   See <http://www.perl.com/perl/misc/Artistic.html>