ない知恵を絞って考えてみましたが、どんなもんでしょう。
とりあえず、下のスクリプトで動くには動きますが。。。

$aaa = "あ";
$bbb = "い";
$ret = "\$aaa\$bbbb";

$Hash{'\$aaa'} = $aaa;
$Hash{'\$bbb'} = $bbb;
while(($key,$value)=each %Hash){
$ret =~ s/$key/$value/;
}
print "$ret\n";

#実行すると「あいb」と表示される。