置換する文字列にシングルクオートとドル記号があったため手こずりました: どういう置換をしたいか? 置換前の文字列: ['align' => $hoge] 置換後の文字列: ['align' => $foo] 僕が書いた正規表現(間違い) perl -pi -e 's/\[\'align\' => \$hoge\]/\[\'align\' => \$foo\]/' * 動くが(美しくない)正規表現 perl -pi -e 's/\['\''align'\'' => \$hoge\]/\['\''align'\'' => \$foo\]/' * シングルクオートをエスケープする際、\'としていてはダメで'\''とする必要がありました。 シェルがシングルクォートを解釈してしまうのですね。 実験 echo ''\''align'\''' # 'align'と出力される echo '\'align\