sub fooge_default { my $self = shift; $self->fooge(@_); # Blind parameter passing } #### sub fooge_default { my $self = shift; goto &$self->fooge; # Not entirely sure of the syntax } #### sub fooge { die "fooge() needs two arguments\n" unless (@_ ==2); my ($foo, $bar) = (shift, shift); # or @_ are equally safe. # ... }