Perl重命名当前目录下的文件

时间:2023-03-10 01:36:04
Perl重命名当前目录下的文件

下载的zip包解压后,中文都变成了乱码,就写了个脚本重命名文件。

use strict;
use warnings; use Cwd; sub main {
my $dir = getcwd();
opendir my $DH, $dir
or die "Can not open directory: $dir"; while (my $file = readdir $DH) {
if ($file =~ /.*-(\d{})_.*\.mp3$/) {
rename $file, "$1.mp3";
}
}
} main()

Perl中获取当前目录有两种方法:

user Cwd;
my $dir = getcwd;

或者

my $dir = $ENV{'PWD'};

前者的好处是跨平台。后者的好处是不用引入额外的包,但是Windows上不能用。

==