分享

perl文件重命名

 herowuking 2015-07-29

通常rename文件名的代码如下:

my $newFile;
foreach my $file ( glob "*\.atp")
{ #查找当前目录下所有以“.atp”为后缀的文件
print "$file\n";
if($file=~/(.*).atp/)
{
  $newFile="$1_vcd.atp";#重命名后的文件名
}
if(-e $newFile){ #如果修改后会导致文件重名,则输出警告,不作处理
warn "Can't rename $file to $newFile. The $newFile exists!\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=<* .*>;

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多