On Sun, 11 Feb 2007 03:51:17 -0500
Mathew Snyder <[EMAIL PROTECTED]> wrote:

> Jeff Pang wrote:
> >> #!/usr/bin/perl
> >>
> >> use warnings;
> >> use strict;
> >>
> >> my @date     = (localtime (time - (24*60*60)))[3..5];
> >>
> >> foreach my $i (@date) {
> >>        print $i . "\n";
> >> }
> >>
> >> exit;
> >>
> >> I get this:
> >>
> >> 10
> >> 1
> >> 107
> >>
> >>
> >> I still have to add 1 to the month.  Is that right?  Also, the year still 
> >> needs
> >> to be fixed by adding 1900 but from what I've read that is due to the way
> >> computers work and not necessarily because of Perl.
> >>
> > 
> > I think it's better to write:
> > 
> > my ($day,$month,$year) = (localtime (time - (24*60*60)))[3..5];
> > 
> > and you still need to add these two statements:
> > 
> > $month++;
> > $year+=1900;

> 
> I need to make sure $day and $month are in 2-digit format so that wouldn't 
> work.
>  At least, not anyway I'm presently familiar with.  I tried to use sprintf in
> there but it failed because of not enough arguments.



Then try this



my ($day,$month,$year) = (localtime (time - (24*60*60)))[3..5];

$month++;
$year+=1900;

my $dmy  = ( sprintf( "%02d %02d %04d",  $day , $month , $year  ) );

print "$dmy\n";







Owen

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


Reply via email to