# With selftest declared after _self % perl -MO=Deparse test.pl ... sub Data::Validate::OO::selftest (@) { package Data::Validate::OO; my $self = &_self(\@_); # <---- look here print Dumper(@_); } ... # Now with selftest declared after _self % perl -MO=Deparse test.pl ... sub Data::Validate::OO::selftest (@) { package Data::Validate::OO; my $self = &_self(@_); # <---- and here print Dumper(@_); } ...