in reply to Re^2: my $x or my ($x)
in thread my $x or my ($x)
One common mistake that is made when assigning to a collection of scalars is this:
my ($one, $two, $three, $four) = 0;
People tend to think that all four variables are initialized, but really only $one is set to zero, the rest are still undef. You'd have to explicitly set each variable to achieve that result:
my $one = my $two = my $three = my $four = 0;
... or alternatively:
my ($one, $two, $three, $four) = (0,0,0,0);
But as was stated elsewhere, this lacks readability for large collections of scalars. In general, I tend to declare my variables and either initialize them to zero or leave them undefined, then assigning their values in later statements. I hate getting warnings about variables being undef when evaluating in a conditional statement.
|
---|
Replies are listed 'Best First'. | |
---|---|
Re^4: my $x or my ($x)
by eff_i_g (Curate) on Apr 04, 2006 at 15:35 UTC |