On Thursday 08 July 2004 14:20, perl.org wrote:
>
> 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.
>
> [snip]
>
> 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} );
> }

Perhaps you should keep the localtime data local to the sub (sort of
like a closure.)

{   my %data;
    sub getDateTime {
        unless ( %data ) {
            @data{ qw[sec min hour day mon year wday yday isdst] } = localtime $^T;
            $data{ year } += 1900;
            $data{ mon }++;
        }
        return %data;
    }
}


John
-- 
use Perl;
program
fulfillment


-- 
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]
<http://learn.perl.org/> <http://learn.perl.org/first-response>


Reply via email to