>>379
とりあえず、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 ""は""を普通に文字列としてみるわけ。