#!/usr/bin/perl -w
sub gettime() {
chomp(my $flag = $_[0]);
my $time = time();
($sec,$min,$hour,$day,$month,$year) = localtime($time);
if($flag eq 'd') {
my $datetime = sprintf("%4d%02d%02d",$year+1900,$month+1,$day);
}
elsif($flag eq 's') {
my $datetime = sprintf("%4d%02d%02d%02d%02d%02d",$year+1900,$month+1,$day,$hour,$min,$sec);
}
elsif($flag eq 'f') {
my $datetime = sprintf("%4d-%02d-%02d% 02d:%02d:%02d",$year+1900,$month+1,$day,$hour,$min,$sec);
}
}
$daytime = &gettime('d');
print("$daytime\n");
$daytime = &gettime('s');
print("$daytime\n");
$daytime = &gettime('f');
print("$daytime\n");
#!/usr/bin/perl -w
use File::Basename;
use File::Find;
my $path = '文件所在目录';
sub gettime() {
...
}
sub findFile {
my $file;
if(-f $File::Find::name) {
print("has find a file\n");
$bakfile = $File::Find::name;
($linkfile = $bakfile) =~ s/bak/newbak/g;
print("----$linkfile\n");
$linkfile =~ s%$daytime/%%g;
print("=====$linkfile\n");
$linkpath = dirname($linkfile);
print("+++++$linkpath\n");
print("create $linkpath\n") unless -d $linkpath;
mkdir $linkpath or die "can't create $linkpath:$!\n" unless -d $linkpath;
unlink "$linkfile" if -f $linkfile;
link "$bakfile","$linkfile" or die "link $bakfile to $linkfile failed:$!\n";
print("$bakfile link to $linkfile\n");
}
}
find(\&findFile,$path);