PerlプログラムからコマンドラインとしてのPerlを使う
東京は雨の日が続いていますね。
さて、Perlでシステム管理スクリプトを書くような場合、
`ls`のように直接コマンドを実行するのが効率良いように思います。
ファイル内の文字を変換する時も、ファイルをオープンして、処理して、書き込んで...
とするよりは、
`perl -pi -e 's/hogehoge/henkan/' $path`;
のようにしたいところです。
この時に注意したいのが、正規表現のメタキャラクタエスケープの方法です。
通常は\(のようにエスケープしますが、
#!/usr/bin/perl use strict; use warnings; my $file = '/home/web/test/common.conf'; `perl -pi -e 's/^\\(hogehoge//' $file`; exit;
のように\\としなければなりません。
はまりました。