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