On Fri, Jun 04, 1999 at 03:48:30PM +0200, Peder Axensten wrote: > Futher down I use this in: > while (($find, $replace)= each (%my_hash)) { > $whatever=~ s/$find/$replace/g; > } > > The $find part works great, but $replace is problematic. It results in > either the string '$1' literally or the value of $1 when it was put into > the hash, not when the regex was executed. > > I've tried ='$1', ="$1", ="\$1" etc. and with the 'evaluate' flag with the > regex but I can't get it to work. > You can't get delayed evaluation by messing with the assignment of the replace string. You have to get it from the substitution. s/$find/$replace/gee; The first /e evaluates '$replace' to '$1'. The second /e evaluates '$1' to the value of $1. Ronald ===== Want to unsubscribe from this list? ===== Send mail with body "unsubscribe" to macperl-request@macperl.org