Beefy Boxes and Bandwidth Generously Provided by pair Networks
more useful options

Re: Style, style, style

by Juerd (Abbot)
on Sep 08, 2002 at 12:15 UTC ( #196004=note: print w/replies, xml ) Need Help??

in reply to Style, style, style

I completely forgot to post my own preferences :)

while (<>) { ... } or while (my $line = <>) { ... }?

Former, unless complicated.

-w or use warnings;?

Former. I avoid modules that are not -w-safe, and force myself to write -w-safe code.

sub CONSTANT () { ... } or use constant CONSTANT => ...;?

Former, for the same reason I like bless: knowing and using internals is good, syntactic sugar is bad if it doesn't reduce typing a lot.

my ($foo, $bar) = @_; or my $foo = shift; my $bar = shift;?

Former, unless @_ is used elsewhere in the sub. In my scripts, you can tell if @_ is going to be used just by looking at the first line: if it shifts, it will.

for (@array) { ... } or foreach (@array) { ... }?

Former. Always.

print 'foo'; or print('foo');?

Former, unless of course when parens are required. Parens clutter and should be avoided in simple statements.

'simple string'; or "simple string"?

Former. I don't mind changing them to doubles later.

glob '*' or <*>?

Former. Angelbrackets bite too often.

readline *FOO or <FOO>?

I alternate :) In theory, I prefer the former, but I see myself using the latter quite often.

for (keys %foo) { $_ and $foo{$_} } or while (my ($key, $value) = each %foo) { $key and $value }?

I prefer the former, but sometimes that is just not useable. I do tend to abuse the gigabyte of RAM modern machines have... :)

- Yes, I reinvent wheels.
- Spam: Visit eurotraQ.

Log In?

What's my password?
Create A New User
Node Status?
node history
Node Type: note [id://196004]
and the web crawler heard nothing...

How do I use this? | Other CB clients
Other Users?
Others cooling their heels in the Monastery: (7)
As of 2021-06-22 14:01 GMT
Find Nodes?
    Voting Booth?
    What does the "s" stand for in "perls"? (Whence perls)

    Results (105 votes). Check out past polls.