我想遍历一个目录,并且针对所有的邮箱(*.msg)文件,删除开头的“RE ”字符。我已经有了下面的代码,但是重命名失败了。
opendir(DIR, 'emails') or die "Cannot open directory";
@files = readdir(DIR);
closedir(DIR);
for (@files){
next if $_ !~ m/^RE .+msg$/;
$old = $_;
s/RE //;
rename($old, $_) or print "Error renaming: $old\n";
}
rename
函数不支持跨平台,而File::Copy
的move
函数则支持。 - Zaid