rename
Mac Os Xには、次の形式の便利な linux コマンドがありません。
rename 'perl-regex' list-of-files
ここに私がまとめたものがありますが、ファイルの名前は変更されません ($new は常に $file と同じです)。
#!/usr/bin/env perl -w
use strict;
use File::Copy 'move';
my $regex=shift;
my @files=@ARGV;
for my $file (@files)
{
my $new=$file;
$new =~ "$regex"; # this is were the problem is !!!
if ($new ne $file)
{
print STDOUT "$file --> $new \n";
move $file, ${new} or warn "Could not rename $file to $new";
}
}
正規表現を渡していないかのようであり、それをハードコーディングした場合
$new =~ s/TMP/tmp;
それはうまくいきます...何か考えはありますか?