http://www.perlmonks.org?node_id=541492


in reply to my $x or my ($x)

if you're declaring 1 variable, its convoluted and a mess to do
my ($x) my $x; my $y; my $z;
but if you're instantiating a bunch of items before an eval block / loop:
my ( $x , $y , $z ); my ( $x , $y , $z );
both look cleaner to read and have a slighty faster perfomance (though its really insignficant). you can bench to see.

also: if you're doing oop perl:
sub function{ my $self = @_; }
is bad form - what if an argument is missing/extra?
sub function{ my ($self) = @_; }
is better. because you might want
sub function{ my ($self , $arg1 , $arg2 ) = @_; }