====== テキストファイルを置換する ====== 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に置換されたはず。 ファイルをオープンして読込む必要が無いからか、実行スピードもそれなり(^^;) 全てがこれで対応できるわけではないので、状況に合わせて利用する