----- Original Message ----
> From: Aristotle Pagaltzis <pagalt...@gmx.de>
> 
> I would write that
> 
>     my $self =  shift;
>     my ( $name ) = @_;
> 
> :-)
> 
> (To my way of  thinking, the invocant is not a positional
> argument, so I always pull it out  of @_ with a `shift`,
> whereas I unpack arguments using list  assignment.)


Why does this matter?  Aside from being able to do this a touch cleaner:

  sub foo {
    my $self = shift;
    my ($name) = @_;
    $self->SUPER::foo($name); # if you're still using SUPER::
    ...
  }

I know this formatting is common, but what practical benefit does it gain?  It 
almost sounds like how I do this:

  my $val = join '-' => @args;

The '=>' is something I'm often asked about because I like to visual 
distinction 
between subject and predicate.  Aside from that, I'm unsure what "value" this 
provides other than conforming to a particular coding preference (and it's more 
ops, but that's probably not enough for it to be a performance win to avoid it).

(I'm not criticising. I'm genuinely curious to know how this helps)

Cheers,
Ovid --
Buy the book - http://www.oreilly.com/catalog/perlhks/
Tech blog - http://blogs.perl.org/users/ovid/
Twitter - http://twitter.com/OvidPerl
Official Perl 6 Wiki - http://www.perlfoundation.org/perl6


Reply via email to