$expr = '$x + 1'; print("$expr = "); $expr =~ s/(\$\w+)/\$sym{'$1'}/g; $sym{'$x'} = 3; $val = eval $expr; die("Bad equation: $@$/") if $@; print("$val$/");