Switch branches/tags
Nothing to show
Find file
Fetching contributors…
Cannot retrieve contributors at this time
68 lines (46 sloc) 1.7 KB


camelCase is bad

Have you ever had to maintain someone else's code?

Have you ever had to maintain code like this?

my $variableThatContainsData =
    someSubroutineThatMucksWithData( $someAwfulVariable );

The mixed-case-for-words is called camelCase in the Perl world, and it's generally frowned upon because it makes reading code difficult.

Even with the horrible names, using underscores makes things more readable:

my $variable_that_contains_data = 
    some_subroutine_that_mucks_with_data( $some_awful_variable );

warnings & strict

For any program you expect to maintain, reuse, or distribute (that is, for any program), you should have the following lines of code:


use strict;
use warnings;

Although, if your Perl is older than 5.6, you need to do this instead:

#!/usr/bin/perl -w

use strict;

Enabling strict makes Perl complain about uncertain coding constructs, such as undeclared variables, barewords, and "soft" references. These warnings will cause Perl to die.

use strict;

$foo = 4; # undeclared variable error
$foo = Bar; # bareword error
my $bat = "foo";
print $$bat; # reference error

Enabling warnings makes Perl complain even more verbosely, but unlike strict, these complaints are not fatal under ordinary circumstances.

use warnings;
$a + 0; # void context warning
        # name used once warning
        # undef warning
print "program continued\n"; # prints

If you want warnings to be fatal, tell it so:

use warnings FATAL => 'all';
$a + 0; # void warning and then exits
print "program continued\n"; # doesn't print