Beefy Boxes and Bandwidth Generously Provided by pair Networks
No such thing as a small change
 
PerlMonks  

Re: Production level script template

by Fletch (Bishop)
on Sep 07, 2005 at 17:27 UTC ( [id://489944]=note: print w/replies, xml ) Need Help??


in reply to Production level script template

my ($dsec,$dmin,$dhour,$dday,$dmon,$dyear,$dwday)=(localtime)[0..6]; my $monname = ('Jan','Feb','Mar','Apr','May','Jun','Jul','Aug', 'Sep','Oct','Nov','Dec')[$dmon]; my $dayname = ('Sun','Mon','Tue','Wed','Thu','Fri','Sat')[$dwday];

Consult POSIX::strftime and your system's strftime manual page.

--
We're looking for people in ATL

Replies are listed 'Best First'.
Re^2: Production level script template
by del (Pilgrim) on Sep 08, 2005 at 19:10 UTC
    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.

      This just looks like a quick-n-dirty version of Time::localtime, except that it makes mon and year a useful value, and modifies wday (which is of value only if you think that wday numbers have a meaning outside of an array index).

      The only other change I'd suggest is to check your context:

      return wantarray ? %time : \%time;
      I find being able to get the data in the format I want a very useful feature of perl. Especially since the speed difference is usually (but probably not always) in the ref's favour, while the readability of your example usage is definitely a point in favour of having the list return.

Log In?
Username:
Password:

What's my password?
Create A New User
Domain Nodelet?
Node Status?
node history
Node Type: note [id://489944]
help
Chatterbox?
and the web crawler heard nothing...

How do I use this?Last hourOther CB clients
Other Users?
Others having a coffee break in the Monastery: (6)
As of 2024-04-19 07:14 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    No recent polls found