On Thu, 8 Jul 2004 14:05:59 -0400, perl.org wrote > It seems random - most of the time it gets one number, but just once > in a while it gets that number plus one. I can't prove it (it's > difficult to track) but it seems like I can get the original value > after I've gotten the incremented value. I will run some tests if I > have time.
I have not been able to reproduce this in my drastically simplified test case; it must be a bug in my code (while I've written my share of bugs I honestly don't see how this could be one), a side effect of more complex interaction or some other issue. use strict; my %data = getDateTime(); my $orig = $data{sec}; print 'Original seconds : ', $orig, ${/}; for( my $i = 0 ; ${i} < 5000000 ; $i++ ) { %data = getDateTime(); my $sec = $data{sec}; if ( $sec != $orig ) { print $sec, ' does not match original value ', $orig, ' : iteration : ', ${i}, $/; } } sub getDateTime { ( $data{sec}, $data{min}, $data{hour}, $data{day}, $data{mon}, $data{year}, $data{wday}, $data{yday}, $data{isdst} ) = localtime( $^T ); $data{year} += 1900; $data{mon}++; return( %{data} ); } -- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] <http://learn.perl.org/> <http://learn.perl.org/first-response>