method foo ($x) { return $x + 1; } #### sub foo { my $self = shift; my $x = @_>=1 ? shift(@_) : croak("Requires \$x"); return $x + 1; } #### method bar ($x) { } #### sub bar { my $self = shift; my $x = @_>=1 ? shift(@_) : croak("Requires \$x"); }