UNIVERSAL::isa($object_of_my_class, "IO::File") #### *UNIVERSAL::old_isa = *UNIVERSAL::isa; *UNIVERSAL::isa = sub { my($self,$pkg) = @_; return 1 if ref($self) eq 'MyClass' and $pkg eq 'IO::Handle'; return UNIVERSAL::old_isa(@_); }; package MyClass; sub new { bless {} } my $object_of_myclass = new MyClass(); my $rc = UNIVERSAL::isa($object_of_myclass, 'IO::Handle'); print $rc ? "It worked\n" : "Oh nuts\n";