use strict; use warnings; use Scalar::Util qw(looks_like_number isdual); my $transf = '/3+6'; my $constant = '09'; my $var = \$constant; #if (looks_like_number($$var)) { if (!looks_like_number($$var)) { #correction per [haukex] print "$$var is not a number\n"; } else { print "$$var looks like a number\n"; } if (!isdual($$var)) { print "$$var does not have a hidden numeric value\n"; } $$var =~ s/^0*//; # make it into a valid number my$expr = "$$var$transf"; my $ans = eval "$$var$transf"; print "$expr yields: "; if (!$@) { print $ans, "\n"; } else { print $@, "\n"; }