4.3. Single-Character Strings
Character strings that consist of a single character can present a variety of problems, all of which make code harder to maintain. A single space in quotes is easily confused with an empty string: $separator = ' '; Like an empty string, it should be specified more verbosely: $separator = q{ }; Literal tabs are even worse (and not just in single-character strings): $separator = ' '; # Empty string, single space, or single tab??? $column_gap = ' '; # Spaces? Tabs? Some combination thereof? Always use the interpolated \t form instead: $separator = "\t"; $column_gap = "\t\t\t"; Literal single-quote and double-quote characters shouldn't be specified in quotation marks either, for obvious aesthetic reasons: '"', "\"", '\'', "'". Use q{"} and q{'} instead. You should also avoid using quotation marks when specifying a single comma character. The most common use of a comma string is as the first argument to a join: my $printable_list = '(' . join(',', @list) . ')'; The ',', sequence is unnecessarily hard to decipher, especially when: my $printable_list = '(' . join(q{,}, @list) . ')'; is just as easy to write, and stands out more clearly as being a literal. See the "Constants" guideline later in this chapter for an even cleaner solution. |