in reply to auto-escaping??

I think you're going to be disappointed. You can't just take a result and get the function that generated that result or, for that matter, even get the variable name associated with a give variable. One way would be to store variable names in variables, combine them at will and eval the result. Personally, I think this will cause you grief, though.

my $bad_idea1 = '$var1'; my $bad_idea2 = '$var2'; my $var1 = 3; my $var2 = 4; my $equation = "$bad_idea1 + $bad_idea2"; print "$equation\n"; print eval $equation;

Here's an example of how things can go wrong:

my $bad_idea1 = '$var1'; my $bad_idea2 = '$var2'; my $var1 = 3; my $var2 = 0; my $equation = "$bad_idea1 / $bad_idea2"; print "$equation\n"; my $result = eval $equation; if ( $@ ) { print $@; } else { print $result; }

Cheers,
Ovid

Join the Perlmonks Setiathome Group or just click on the the link and check out our stats.