while ($str =~ s/~~(\$.+?)~~/__TOKEN__/) { my $val = eval $1; $str =~ s/__TOKEN__/$val/; } #### $str =~ s/~~(\$.+?)~~/eval $1/ge;