Rob Dixon wrote:
M. Lewis wrote:
>
> Given the following code, if I were to want $day, $month, $hour, $minute
> & $sec to have a leading zero (ie 01 for Jan rather than 1), is my only
> option to use printf? Or is there a better way.
>
> What I'm searching for here is the *correct* method to get $day, $month,
> etc for uses like naming backup files (databackup-2007-01-21.tar.gz).
>
> Thanks,
> Mike
>
>
> #!/usr/bin/perl
>
> use strict;
> use warnings;
>
> my($sec, $min, $hour, $day, $month, $year)=(localtime)[0 .. 5];
>
> print "day=$day\n";
> print "month=".($month+1)."\n";
> print "year=".($year+1900)."\n\n";
> print "hour=$hour\n";
> print "minute=$min\n";
> print "second=$sec\n\n";
Hi Mike
I'm not sure exactly what you're looking for, as your code doesn't
address the
question of naming backup files.
I would write a short subroutine to 'fix' the output from localtime, and
use
sprintf to build the filename. I hope this is what's wanted.
Rob
use strict;
use warnings;
sub date {
my @date = localtime;
$date[5] += 1900;
$date[4]++;
@date;
}
my $backup = sprintf 'databackup-%d-%02d-%02d.tar.gz', (date)[5,4,3];
print $backup, "\n";
**OUTPUT**
databackup-2007-01-21.tar.gz
Thanks to all for the replies. I'm grok all the replies and see which
one(s) to use.
Thanks,
Mike
--
IBM: Imitable Boring Microcomputers
03:45:01 up 8 days, 14:22, 0 users, load average: 0.12, 0.23, 0.24
Linux Registered User #241685 http://counter.li.org
--
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]
http://learn.perl.org/