my ($foo, $bar, @baz) = @_; #### sub some_method { my $self = shift; my ($foo, $bar, @baz) = @_; ...; } #### around some_method => sub { my ($orig, $self) = (shift, shift); my ($foo, $bar, @baz) = @_; ...; }; #### sub mygrep { my $code = shift; my (@items) = @_; ...; }