http://qs1969.pair.com?node_id=814376


in reply to Re: Help with Coding Style
in thread Help with Coding Style

First of all, i strongly join the people who recommended using Perl::Critic. It is an excellent to improve your style
Actually, using Perl::Critic doesn't help you to improves one style. It will however help you mimic the style of the people in charge of Perl::Critic.
my ($self) = @_; # You should probably write: my ($self) = shift; # Option 1. my ($self) = $_[0]; # Option 2. The two options do a very similar thin +g, choose the one that suits you and make sure you understand what th +ey mean.
I loathe this kind of advice. You give two alternatives to a line, without any explanation of why any of the alternatives are better. I certainly don't see any problem with the first line than any of the alternatives solves.
for (my $i = 1; $i <= $size; $i++) # This is OK, but it is C style, no +t Perl.
It's Perl. Hence, it's Perl style. Just because it looks like C doesn't mean it's bad.
for my $i (1 .. $size) # This is more Perlish and more readable. It's +a matter of taste.
If it's a matter of taste, why recommend one over the other?

Personally, I also look at the body when deciding what kind of loop to use. In this case, I wouldn't use a for statement at all.

$self->{allowed} = [undef, (1) x $size];
I suspect $self->{allowed}[0] is never used, but I didn't look at the code a lot. If it's not used, I wouldn't use the undef in the code above.