特定の正規表現をファイル名に適用する単純な perl スクリプトを作成しようとしていますが、正規表現を引数としてスクリプトに渡すのに問題があります。
私ができるようにしたいのは、次のようなものです:
> myscript 's/hi/bye/i' hi.h
bye.h
>
このコードを作成しました
#!/utils/bin/perl -w
use strict;
use warnings;
my $n_args = $#ARGV + 1;
my $regex = $ARGV[0];
for(my $i=1; $i<$n_args; $i++) {
my $file = $ARGV[$i];
$file =~ $regex;
print "OUTPUT: $file\n";
}
どうやら正規表現の置き換えには使用できないため、qrを使用できません(ただし、これのソースはフォーラムの投稿であるため、間違っていることが証明されてうれしいです)。
2 つの部分を別々の文字列として渡したり、perl スクリプトで正規表現を手動で実行したりすることは避けたいと思います。
このような引数として正規表現を渡すことは可能ですか?もしそうなら、それを行う最良の方法は何ですか?