2.3. Subroutines and Variables
In order for the previous rule to work properly, it's important that subroutines and variables not have a space between their names and any following brackets. Otherwise, it's too easy to mistake a subroutine call for a control structure, or misread the initial part of an array element as an independent scalar variable. So cuddle subroutine calls and variable names against their trailing parentheses or braces: my @candidates = get_candidates($marker); CANDIDATE: for my $i (0..$#candidates) { next CANDIDATE if open_region($i); $candidates[$i] = $incumbent{ $candidates[$i]{region} }; } Spacing them out only makes them harder to recognize: my @candidates = get_candidates ($marker); CANDIDATE: for my $i (0..$#candidates) { next CANDIDATE if open_region ($i); $candidates [$i] = $incumbent {$candidates [$i] {region}}; } |