bashなんかだと
sed -i "s/hoge/ukeke/g" test.txt
なんて方法でファイル内の文字置換を行える。
しかし、今回はPerl…
systemコマンドでsedを実行してやればなんとなく出来そうな気がするものの、スマートじゃないので別の方法を考える。
my $filename = ["test.txt"];
my $dat1 = "hoge"; # 置換対象文字列
my $dat2 = "ukeke"; # 置換するの文字列
$^I = ".bak"; # 置換するファイルの.bakを付けてバックアップファイルを作成してくれる
@ARGV = @$filename;
while (<>) {
s/$dat1/$dat2/g;
print;
}
これで、test.txtのhogeはukekeに置換されたはず。
ファイルをオープンして読込む必要が無いからか、実行スピードもそれなり(^^;)
全てがこれで対応できるわけではないので、状況に合わせて利用する