Perlについての質問箱 15箱目
■ このスレッドは過去ログ倉庫に格納されています
0381デフォルトの名無しさん
05/02/05 22:13:45とりあえず、evalを使う方向で問題に対処してみたつもり。
もうちょっと綺麗にならないかな・・・
$a = '\d \t';
($pattern,$str) = split /\s/,$a;
$str =~ s/"/\\"/g;
$_ = 'one2three';
s/$pattern/eval qq|"$str"|/eg;
説明は>>380さんもしていますが、
eval {s/$pattern/$str/g}; では、
s/$pattern/$str/ が、
eval "s/$pattern/$str/g"; では
s/\d/\t/g が評価されます。
eval ""は""を普通に文字列としてみるわけ。
■ このスレッドは過去ログ倉庫に格納されています