package isa; use strict; use warnings; BEGIN { no warnings 'redefine'; my $old = \&UNIVERSAL::isa; *UNIVERSAL::isa = sub { goto &$old if defined wantarray; no strict 'refs'; push @{caller().'::ISA'}, @_; } #UNIVERSAL::isa } 1;