#!/usr/bin/perl -- use strict; use warnings; use B(); sub SvTYPE (\[$@%&*]) { use B(); ref(B::svref_2object($_[0])) } { my $x = 42; TYPE(\$x); } { my $x = 42.24; TYPE(\$x); } { my $x = "42.24"; TYPE(\$x); $x=$x+0; print SvTYPE($x), "\n"; } { my $x = "00042"; TYPE(\$x); $x=$x+0; print SvTYPE($x), "\n"; } { my $x = "42\x{260E}"; TYPE(\$x); } sub TYPE { no warnings; print $_[0],' = ', ${$_[0]},' = ', ref(B::svref_2object($_[0])), "\n"; } __END__