use strict; use warnings; my $x = ; $x *= 1; print "String\n" if ($x =~ /\w/); print "Integer\n" if ($x =~ /\d/); print $x**$x ."\n"; __OUTPUT__ e Argument "e\n" isn't numeric in multiplication (*) at tmp.pl line 8, line 1. String Integer 1 #### my $x = ; print "String\n" if ($x =~ /\w/); print "Integer\n" if ($x =~ /\d/); print $x**$x ."\n"; __OUTPUT__ e String Argument "e\n" isn't numeric in exponentiation (**) at tmp.pl line 13, line 1. 1 #### my $x = ; $x *= 1; print "String\n" if ($x =~ /\w/); print "Integer\n" if ($x =~ /\d/); print $x**$x ."\n"; __OUTPUT__ 2 String Integer 4