Важный эффект - когда вы инициализируете переменную одновременно с объявлением:
my ($a) = @b; # assigns $a = $b[0]
my $a = @b; # assigns $a = scalar @b (length of @b)
В другой раз это важно, когда вы объявляете несколько переменных.
my ($a,$b,$c); # correct, all variables are lexically scoped now
my $a,$b,$c; # $a is now lexically scoped, but $b and $c are not
Последнее утверждение выдаст вам ошибку, если вы use strict
.