use Scalar::Util qw/looks_like_number/; print looks_like_number("65" )?"yes":"no", "\n"; # yes print looks_like_number("0x41" )?"yes":"no", "\n"; # no print looks_like_number( 0xA_A )?"yes":"no", "\n"; # yes print looks_like_number("0xA_A")?"yes":"no", "\n"; # no