sub initialize {
return shift->call_super_before(\@_, sub {
my($self) = @_;
$self->die($self->get('values'), undef, 'number of elements must be even')
unless @{$self->get('values')} % 2 == 0;
return;
});
}
####
my($_BAR) = 1;
sub foo {
return shift->call_super_before(\@_, sub {
die('gone') unless $_BAR;
return;
});
}
####
package T1;
sub s1 {print("T1:s1\n")}
package T2;
use base T1;
package T3;
use base T2;
sub s1 {shift->SUPER::s1}
package main;
no strict 'refs';
exists($T2::{s1}) && die('not here');
T3->s1;
exists($T2::{s1}) && die('here');