Time::SoFar(3) User Contributed Perl Documentation Time::SoFar(3)
NNNNAAAAMMMMEEEE
Time::SoFar - Perl module to calculate run time
SSSSYYYYNNNNOOOOPPPPSSSSIIIISSSS
use Time::SoFar qw( runtime runinterval figuretimes );
# [...] denotes optional arguments
$times = runtime( [$no_optimize] );
@times = runtime( [$no_optimize] );
$times = runinterval( [$no_optimize] );
@times = runinterval( [$no_optimize] );
$times = figuretimes( $seconds [, $no_optimize] );
@times = figuretimes( $seconds [, $no_optimize] );
SSSSAAAAMMMMPPPPLLLLEEEESSSS
my $elasped = runtime();
print "Elapsed time $elapsed\n";
# prints, eg, "Elapsed time 17:34\n"
my $sincethen = runinterval(1);
print "Time since then $sincethen\n";
# prints, eg, "Time since then 0:00:00:51\n"
($day, $hour, $min, $sec) = figuretimes(86400 + 2*3600 + 3*60 + 4, 1);
# $day = 1; $hour = 2; $min = 3; $sec = 4;
@times = figuretimes(2*3600 + 3*60 + 4);
# @times = (2, 3, 4)
@times = figuretimes(17,1);
# @times = (0, 0, 0, 17)
$times = figuretimes(2*3600 + 3*60 + 4, 1);
# $times = '0:02:03:04';
DDDDEEEESSSSCCCCRRRRIIIIPPPPTTTTIIIIOOOONNNN
TTTTiiiimmmmeeee::::::::SSSSooooFFFFaaaarrrr has two functions for calculating how long a
script has been running. `runtime()' always works from the
time the script was started (using _$_^_T). `runinterval()'
works from the last time `runtime()' or `runinterval()'
was called (or since the start of the script).
Both `runtime()' and `runinterval()' use `figuretimes()'
to render a raw number of seconds into component time
units. Both take an optional boolean argument that gets
passed to `figuretimes()' to influence its output.
In an array context `figuretimes()' returns the
timecomponents as an array, in a scalar context it returns
those components as a :::: delimited string. The default
2000-12-13 perl v5.6.0 1
Time::SoFar(3) User Contributed Perl Documentation Time::SoFar(3)
behaviour is to optimize away 0 output from the longer
period end of the output, leaving a minimum of
minutes:seconds. This is good for arrays that will be
passed to `join()', but not so good for a list of
variables, so this behaviour can be disabled by using a
true value for _$_n_o___o_p_t_i_m_i_z_e.
IIIINNNNHHHHEEEERRRRIIIITTTTAAAANNNNCCCCEEEE
Time::SoFar inherits only from Exporter.
CCCCAAAAVVVVEEEEAAAATTTTSSSS
Time::SoFar has a granularity of seconds, and is therefore
not so useful for small elapsed times.
PPPPRRRREEEERRRREEEEQQQQUUUUIIIISSSSIIIITTTTEEEESSSS
Only stock perl modules are used.
OOOOSSSSNNNNAAAAMMMMEEEESSSS
So long as _$_^_T and `time()' are calculated using the same
epoch there should be no operating system dependence.
SSSSEEEEEEEE AAAALLLLSSSSOOOO
_$_^_T in the perlvar manpage.
CCCCOOOOPPPPYYYYRRRRIIIIGGGGHHHHTTTT
Copyright 2000 by Eli the Bearded / Benjamin Elijah
Griffin. Released under the same _l_i_c_e_n_s_e(s) as Perl.
AAAAUUUUTTTTHHHHOOOORRRR
Eli the Bearded wrote this to do away with all the _$_^_T one
liners at the end of his batch processing scripts.
2000-12-13 perl v5.6.0 2