sub selftest(@){ my $self = _self(@_); print Dumper(@_); } sub _self(\@){ print Dumper(@_); if(ref($_[0]->[0]) && $_[0]->[0]->_me() eq 'DVALID'){ return shift(@{ $_[0] }); }else{ return; } } #### my $chk = new Data::Validate::OO( -failure => sub{ my $rule = shift; print "Error in rule '$rule': ".join(', ',@_)."\n"; }, ); $chk->selftest(qw(This Is a Test of the emergency broadcast system!)); #### $VAR1 = bless( { '_error' => '', '_fail' => sub { "DUMMY" }, '_rules' => {} }, 'Data::Validate::OO' ); $VAR2 = 'This'; $VAR3 = 'Is'; $VAR4 = 'a'; $VAR5 = 'Test'; $VAR6 = 'of'; $VAR7 = 'the'; $VAR8 = 'emergency'; $VAR9 = 'broadcast'; $VAR10 = 'system!'; Not an ARRAY reference at OO.pm line 264.