As mentioned laready, your code looks fine.. just wanted to toss in a couple comments...
- When working with Date::Calc, I find it much easier and clearer to use arrays for the year/month/day or year/month/day/hour/min/sec sets.
* To facilitate this, note the change in return value for getMeanTime() in the code below.
- Those multiple sprintf's should really just be a single one and just take advantage of sprintf's template nature, and the print sprintf is redundant (should just be a printf).
- note that gmtime() is the same as gmtime(time).
- note from the Date::Calc docs for Delta_YMDHMS: "Arguments are expected to be in chronological order to yield a (usually) positive result."
so i would write it something like:
use Date::Calc qw(Delta_YMDHMS);
# @d arrays are (y,mon,d,h,min,s)
my @dt1 = getMeanTime();
sleep(2);
my @dt2 = getMeanTime();
my @dt = Delta_YMDHMS( @dt1, @dt2 );
printf "%02d/%02d/%04d %02d:$02d:$02d", @dt[2,1,0, 3..5];
sub getMeanTime {
my @t = gmtime;
return ( $t[5]+1900, $t[4]+1, $t[3], @t[2..0] ); # (y, mon, day, h,
+ min, s)
}
Also note that instead of
gmtime, you can (just for ease of the array usage and for Date::Clac consistency) use Today_and_Now():
use Date::Calc qw(Delta_YMDHMS Today_and_Now);
# @d arrays are (y,mon,d,h,min,s)
my @dt1 = Today_and_Now();
sleep(2);
my @dt2 = Today_and_Now();
my @dt = Delta_YMDHMS( @dt1, @dt2 );
printf "%02d/%02d/%04d %02d:$02d:$02d", @dt[2,1,0, 3..5];
-
Are you posting in the right place? Check out Where do I post X? to know for sure.
-
Posts may use any of the Perl Monks Approved HTML tags. Currently these include the following:
<code> <a> <b> <big>
<blockquote> <br /> <dd>
<dl> <dt> <em> <font>
<h1> <h2> <h3> <h4>
<h5> <h6> <hr /> <i>
<li> <nbsp> <ol> <p>
<small> <strike> <strong>
<sub> <sup> <table>
<td> <th> <tr> <tt>
<u> <ul>
-
Snippets of code should be wrapped in
<code> tags not
<pre> tags. In fact, <pre>
tags should generally be avoided. If they must
be used, extreme care should be
taken to ensure that their contents do not
have long lines (<70 chars), in order to prevent
horizontal scrolling (and possible janitor
intervention).
-
Want more info? How to link
or How to display code and escape characters
are good places to start.