Hiro's program memo

プログラムに関するメモ書き。研究ではEmacsでPerlを書いてます。

置換する時の注意

Perlで置換を用いる時はメタ文字に注意しなければならない。

例えば

 

$word = 'Are you free tomorrow?';

$erase = '?';

$word =~ s/$erase//; #ハテナを消そうとする

 

ただし、これだと'?'がメタ文字と認識され消えない。

 

$word =~ s/\Q$erase\E//;

 

これで解決。\Qと\E間で囲んだメタ文字は文字として扱われる。ただ、$を用いている変数は使えるみたい。