Let's assume that you have a string like:
$text = 'this has a $foo in it and a $bar';If those were both global variables, then this would suffice:
$text =~ s/\$(\w+)/${$1}/g; # no /e neededBut since they are probably lexicals, or at least, they could be, you'd have to do this:
$text =~ s/(\$\w+)/$1/eeg; die if $@; # needed /ee, not /eIt's probably better in the general case to treat those variables as entries in some special hash. For example:
%user_defs = ( foo => 23, bar => 19, ); $text =~ s/\$(\w+)/$user_defs{$1}/g;See also ``How do I expand function calls in a string?'' in this section of the FAQ.