12.10. Named Characters
As an alternative to the previous guideline, Perl 5.6 (and later) supports named characters in regexes. As previously discussed[*], this mechanism is much better for "unprintable" components of a regex. For example, instead of:
if ($escape_seq =~ /\177 \006 \030 Z/xms) { # Octal DEL-ACK-CAN-Z blink(182); } use: use charnames qw( :full ); if ($escape_seq =~ m/\N{DELETE} \N{ACKNOWLEDGE} \N{CANCEL} Z/xms) { blink(182); } Note, however that named whitespace characters are treated like ordinary whitespace (i.e., they're ignored) under the /x flag: use charnames qw( :full ); # and later... $name =~ m{ harry \N{SPACE} s \N{SPACE} truman # harrystruman | harry \N{SPACE} j \N{SPACE} potter # harryjpotter }ixms; You would still need to put them in characters classes to make them match: use charnames qw( :full ); |