^ ( ) [ ] { } $ \n \r 以下の置き換えで全てをエスケープする" />

perlで外部プログラムを実行する際の注意点

perlで外部プログラムを実行する際の注意点

system関数やパイプを使って外部プログラムを実行する時は
汚染チェックを必ずする。

エスケープするべき文字

& ; ` ' \ " | * ? ~ < > ^ ( ) [ ] { } $ \n \r

以下の置き換えで全てをエスケープすると良い。

s/([\&\;\`\'\\\"\|\*\?\~\<\>\^\(\)\[\]\{\}\$\n\r])/\\$1/g;

参考:http://www.stackasterisk.jp/tech/program/perl02_02.jsp