X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=blobdiff_plain;f=pod%2Fperlrequick.pod;h=7abd895e8a80441e9004c44a1d8c673920ce281c;hb=4ad40acfc62db410aa4eb7654e17246f1fc97689;hp=a31adab5eb8f4a7372c7dd70960c7b0e4d134c29;hpb=210b36aa2e9e009554be8970c3315c2658c0384f;p=p5sagit%2Fp5-mst-13.2.git diff --git a/pod/perlrequick.pod b/pod/perlrequick.pod index a31adab..7abd895 100644 --- a/pod/perlrequick.pod +++ b/pod/perlrequick.pod @@ -74,7 +74,7 @@ A metacharacter can be matched by putting a backslash before it: "2+2=4" =~ /2+2/; # doesn't match, + is a metacharacter "2+2=4" =~ /2\+2/; # matches, \+ is treated like an ordinary + 'C:\WIN32' =~ /C:\\WIN/; # matches - "/usr/bin/perl" =~ /\/usr\/local\/bin\/perl/; # matches + "/usr/bin/perl" =~ /\/usr\/bin\/perl/; # matches In the last regex, the forward slash C<'/'> is also backslashed, because it is used to delimit the regex. @@ -167,27 +167,39 @@ Perl has several abbreviations for common character classes: =item * -\d is a digit and represents [0-9] +\d is a digit and represents + + [0-9] =item * -\s is a whitespace character and represents [\ \t\r\n\f] +\s is a whitespace character and represents + + [\ \t\r\n\f] =item * -\w is a word character (alphanumeric or _) and represents [0-9a-zA-Z_] +\w is a word character (alphanumeric or _) and represents + + [0-9a-zA-Z_] =item * -\D is a negated \d; it represents any character but a digit [^0-9] +\D is a negated \d; it represents any character but a digit + + [^0-9] =item * -\S is a negated \s; it represents any non-whitespace character [^\s] +\S is a negated \s; it represents any non-whitespace character + + [^\s] =item * -\W is a negated \w; it represents any non-word character [^\w] +\W is a negated \w; it represents any non-word character + + [^\w] =item * @@ -239,7 +251,7 @@ C is able to match earlier in the string. At a given character position, the first alternative that allows the regex match to succeed will be the one that matches. Here, all the -alternatives match at the first string position, so th first matches. +alternatives match at the first string position, so the first matches. =head2 Grouping things and hierarchical matching @@ -368,8 +380,9 @@ C<$pattern> won't be changing, use the C modifier, to only perform variable substitutions once. If you don't want any substitutions at all, use the special delimiter C: - $pattern = 'Seuss'; - m'$pattern'; # matches '$pattern', not 'Seuss' + @pattern = ('Seuss'); + m/@pattern/; # matches 'Seuss' + m'@pattern'; # matches the literal string '@pattern' The global modifier C allows the matching operator to match within a string as many times as possible. In scalar context, @@ -464,7 +477,7 @@ To extract a comma-delimited list of numbers, use # $const[2] = '3.142' If the empty regex C is used, the string is split into individual -characters. If the regex has groupings, then list produced contains +characters. If the regex has groupings, then the list produced contains the matched substrings from the groupings as well: $x = "/usr/bin";