Anonymous Monk has asked for the wisdom of the Perl Monks concerning the following question:
Hello,
I have inherited some code that appends datestamps to file names. It is generating different results in perl 5.8.8 and perl 5.10.1 and I need some help trying to understand why.
Here's a snippet that shows the behavior:Here's the output running perl 5.8.8:#!/usr/bin/perl my @tm=localtime(time); $year=@tm[5]+1900; $mon=@tm[4]+1; $dom=@tm[3]; if ($dom<10) { $dom="0$dom"; } $dow=@tm[6]; $dstamp=sprintf("%04.0d%02.0d%02.0d",$year,$mon,$dom); $hour=@tm[2]; $min=@tm[1]; $sec=@tm[0]; if ($hour<10) { $hour="0$hour"; } if ($min<10) { $min="0$min"; } if ($sec<10) { $sec="0$sec"; } $dstime=$tm[8]; # is it currently daylight savings time. $tstamp=sprintf("%02.0d%02.0d%02.0d",$hour,$min,$sec); print "year is $year\n"; print "mon is $mon\n"; print "dom is $dom\n"; print "hour is $hour\n"; print "min is $min\n"; print "sec is $sec\n"; print "tstamp is $tstamp\n"; print "dstamp is $dstamp\n";
And perl 5.10.1year is 2014 mon is 4 dom is 11 hour is 16 min is 18 sec is 06 tstamp is 161806 dstamp is 20140411
The perl 5.10.1 output is putting spaces instead of zeros when the individual components of the timestamp are less than ten (like with the seconds field of the tstamp value).year is 2014 mon is 4 dom is 11 hour is 16 min is 20 sec is 08 tstamp is 1620 8 dstamp is 2014 411
Due to legacy systems, this code needs to continue to run on both versions of perl.
Any help understanding what caused the output to change or how to get the same output from both perl versions would be appreciated.
Thank you,
Tim
|
---|
Replies are listed 'Best First'. | |
---|---|
Re: output format changed perl5.8 --> perl 5.10?
by toolic (Bishop) on Apr 25, 2014 at 14:49 UTC | |
Re: output format changed perl5.8 --> perl 5.10?
by mr_mischief (Monsignor) on Apr 25, 2014 at 15:43 UTC | |
Re: output format changed perl5.8 --> perl 5.10?
by hippo (Bishop) on Apr 25, 2014 at 14:52 UTC | |
Re: output format changed perl5.8 --> perl 5.10?
by fishmonger (Chaplain) on Apr 25, 2014 at 16:33 UTC | |
Re: output format changed perl5.8 --> perl 5.10?
by Laurent_R (Canon) on Apr 25, 2014 at 17:31 UTC | |
Re: output format changed perl5.8 --> perl 5.10?
by Anonymous Monk on Apr 25, 2014 at 17:26 UTC |
Back to
Seekers of Perl Wisdom