通常rename文件名的代码如下:
my $newFile;
foreach my $file ( glob "*\.atp")
{ #查找当前目录下所有以“.atp”为后缀的文件
print "$file\n";
if($file=~/(.*).atp/)
{
}
if(-e $newFile){ #如果修改后会导致文件重名,则输出警告,不作处理
warn "Can't rename $file to $newFile. The $newFileexists!\n";
}else{
rename $file, $newFile #重命名文件
or
warn "Rename $file to $newFile failed: $!\n"; #如果重命名失败,则输出警告
}
}
上面的代码需要解释的也只有文件名通配这块了。PERL文件名通配的常用方式有两种:
(1)glob
my @files=glob"*";""中的是模式,任何可以在命令行中输入的模式都可以放在""中。@files中包含当前目录下的所有非以.号开头的文件名。
my @files=golb "* .*";可以获得当前目录下的所有文件名。
(2)钻石操作符<>
my @files=<*>;效果和glob"*";完全一致。
my @files=<* .*>;
联系客服