Приглашаем посетить
Писемский (pisemskiy.lit-info.ru)

Section 2.12.  Blocks

Previous
Table of Contents
Next

2.12. Blocks

Never place two statements on the same line.

If two or more statements share one line, each of them becomes harder to comprehend:

    RECORD:
    while (my $record = <$inventory_file>) {
        chomp $record; next RECORD if $record eq $EMPTY_STR;
        my @fields = split $FIELD_SEPARATOR, $record; update_sales(\@fields);$count++;
    }

You're already saving vertical space by using K&R bracketing; use that space to improve the code's readability, by giving each statement its own line:


    RECORD:
    while (my $record = <$inventory_file>) {
        chomp $record;
        next RECORD if $record eq $EMPTY_STR;
        my @fields = split $FIELD_SEPARATOR, $record;
        update_sales(\@fields);
        $count++;
    }

Note that this guideline applies even to map and grep blocks that contain more than one statement. You should write:


    my @clean_words
        = map {
              my $word = $_;
              $word =~ s/$EXPLETIVE/[DELETED]/gxms;
              $word;
          } @raw_words;

not:

    my @clean_words
        = map { my $word = $_; $word =~ s/$EXPLETIVE/[DELETED]/gxms; $word } @raw_words;

    Previous
    Table of Contents
    Next