perl 时间处理?

来源:百度知道 编辑:UC知道 时间:2024/07/03 11:00:15
perl 脚本如下:
#!/usr/bin/perl -w
use warnings;
use strict;

my $sec;
my $min;
my $hour;
my $mday;
my $mon;
my $year;
my $wday;
my $yday;
my $isdst;
my $sday;
($sec,$min,$hour,$mday,$mon,$year,$wday,$yday,$isdst)=localtime();
$year=$year+1900;
$mon=$mon+1;
printf "%04d%02d%02d\n",$year,$mon,$mday;
$sday=printf "%04d%02d%02d",$year,$mon,$mday;
print "$sday\n";

结果如下:
20091026
200910261
为什末会不同呢?

因为$sday=printf "%04d%02d%02d",$year,$mon,$mday;
$sday得到的值是1,表示printf命令运行成功。
最后一行"200910261"
其实是你
$sday=printf "%04d%02d%02d",$year,$mon,$mday;
print "$sday\n";
两条语句打出来的。你可以将
print "$sday\n";
改为
print "\n$sday\n";
这样最后结果就是
20091026
20091026
1
明白了吧