note
demerphq
Umm, I'm not sure I got your point. Heres what I got when I played with your code...
<code>
use IO::Socket::INET;
use strict;
use overload;
use warnings;
sub is_blessed {
defined($_[0]) &&
ref($_[0]) &&
(index(overload::StrVal($_[0]),'=')>=0) &&
overload::StrVal($_[0])!~/^Regexp=SCALAR/? "blessed" : "not blessed";
}
my $socket = IO::Socket::INET->new ();
print overload::StrVal($socket),"is ",is_blessed($socket)," and\n";
foreach (qw(IO IO::Socket IO::Socket::INET GLOB HASH)) {
print "is" .(UNIVERSAL::isa( $socket, $_ )? " a " : " not a ").$_."\n" ;
}
$socket =~ s/GLOB/HASH/;
print "after s///\n";
print overload::StrVal($socket),"is ",is_blessed($socket)," and\n";
foreach (qw(IO IO::Socket IO::Socket::INET GLOB HASH)) {
print "is" .(UNIVERSAL::isa( $socket, $_ )? " a " : " not a ").$_."\n" ;
}
__END__
IO::Socket::INET=GLOB(0x1ab52f0)is blessed and
is not a IO
is a IO::Socket
is a IO::Socket::INET
is a GLOB
is not a HASH
after s///
IO::Socket::INET=HASH(0x1ab52f0)is not blessed and
is not a IO
is not a IO::Socket
is not a IO::Socket::INET
is not a GLOB
is not a HASH
</code>
<P>
--- demerphq<br>
my friends call me, usually because I'm late....<br>
217565
217590