while (<>) { ... } or while (my $line = <>) { ... }?
In general, in any non trivial situation, I use the latter because is is safer and makes for self-documenting code (assuming that you use an appropriate variable).
sub CONSTANT () { ... } or use constant CONSTANT => ...;? Once again the later, to promote self-documenting code.
my ($foo, $bar) = @_; or my $foo = shift; my $bar = shift; I find the former infinately more readable. It collects the parameters in one place, and looks like a traditional argument list.
for (@array) { ... } or foreach (@array) { ... }
I consistantly use for for (;;) loops and foreach for () loops. Self-documenting again.
'simple string'; or "simple string"
The former. Why make extra work for the compiler.
As you can see, I really try to write self-documenting code. I hate writing comments, which is my biggest flaw as a coder, but I try to mitigate it through clear code. I use good variable and procedure names, consistant formatting (yay emacs!), and clear structure. These go thing as far as copious comments in making your code more maintainable.
Ans I know that they don't replace good commenting, but I am getting better at that, really...
I totally agree... except...
for (@array) { ... } or foreach (@array) { ... }
I consistantly use for for (;;) loops and foreach for () loops. Self-documenting again.