package Foo; sub new { my ($class, @args) = @_; bless \@args, $class } sub wonk { my $self = shift; $self->_fiddle(@_); } sub _fiddle { my $self = shift; return map { scalar reverse $_ } @_; } package Bar; @ISA = 'Foo'; sub thing { my $self = shift; $self->_fiddle(@_); } sub _fiddle { my ($self, @args) = @_; return map { ++$_ } @args; }