http://qs321.pair.com?node_id=490292


in reply to Re: Production level script template
in thread Production level script template

I saw the idea for a time hash somewhere long ago. I keep this snippet on our work wiki site so I don't forget. It could be cleaned, but is useful (one variable to hold the time data.)
sub h_localtime() { my %time; my @time = localtime(time); my $iter = 0; my @iter = qw/sec min hour mday mon year wday yday isdst/; foreach (@iter) { $time{$_} = $time[$iter]; $iter++; } $time{mon}++; # make month 1..12 instead of 0..11 $time{year}+=1900; # make year absolute instead of (year-1900) $time{wday}++; # make week day 1..7 instead of 0..6 return %time; }
The programmer can then do this:
my %t = h_localtime;
printf "%d %d %d\n", @t{qw/mday mon year/};
I don't know that it's a significant benefit in the parent example, but I like it.