Note that the C<%a> and C<%b>, the short forms of the day of the week
and the month of the year, may not necessarily be three characters wide.
-=item lock
-
- lock I<THING>
+=item lock THING
This function places an advisory lock on a variable, subroutine,
or referenced object contained in I<THING> until the lock goes out
v interpret string as a vector of integers, output as
numbers separated either by dots, or by an arbitrary
string received from the argument list when the flag
- is preceded by C<*>
+ is preceded by "*"
Where a number would appear in the flags, an asterisk (C<*>) may be
used instead, in which case Perl uses the next item in the parameter
A. DECOMPRESS
- Decompress the file with C<gzip -d yourmodule.tar.gz>
+Decompress the file with C<gzip -d yourmodule.tar.gz>
- You can get gzip from
- http://www.s390.ibm.com/products/oe/bpxqp1.html.
+You can get gzip from
+http://www.s390.ibm.com/products/oe/bpxqp1.html
B. UNPACK
\pP Match P, named property. Use \p{Prop} for longer names.
\PP Match non-P
\X Match eXtended Unicode "combining character sequence",
- equivalent to C<(?:\PM\pM*)>
+ equivalent to (?:\PM\pM*)
\C Match a single C char (octet) even under Unicode.
- B<NOTE:> breaks up characters into their UTF-8 bytes,
+ NOTE: breaks up characters into their UTF-8 bytes,
so you may end up with malformed pieces of UTF-8.
A C<\w> matches a single alphanumeric character or C<_>, not a whole word.
word \w [3]
xdigit
- [1] A GNU extension equivalent to C<[ \t]>, `all horizontal whitespace'.
- [2] Not I<exactly equivalent> to C<\s> since the C<[[:space:]]> includes
- also the (very rare) `vertical tabulator', "\ck", chr(11).
- [3] A Perl extension.
+=over
+
+=item [1]
+
+A GNU extension equivalent to C<[ \t]>, `all horizontal whitespace'.
+
+=item [2]
+
+Not exactly equivalent to C<\s> since the C<[[:space:]]> includes
+also the (very rare) `vertical tabulator', \ck", chr(11).
+
+=item [3]
+
+A Perl extension.
+
+=back
For example use C<[:upper:]> to match all the uppercase characters.
Note that the C<[]> are part of the C<[::]> construct, not part of the
parentheses and the second alternative C<\([^()]*\)> matching a
substring delimited by parentheses. The problem with this regexp is
that it is pathological: it has nested indeterminate quantifiers
- of the form C<(a+|b)+>. We discussed in Part 1 how nested quantifiers
+of the form C<(a+|b)+>. We discussed in Part 1 how nested quantifiers
like this could take an exponentially long time to execute if there
was no match possible. To prevent the exponential blowup, we need to
prevent useless backtracking at some point. This can be done by
The question of string equivalence turns somewhat complicated
in Unicode: what do you mean by equal?
- Is C<LATIN CAPITAL LETTER A WITH ACUTE> equal to
- C<LATIN CAPITAL LETTER A>?
+(Is C<LATIN CAPITAL LETTER A WITH ACUTE> equal to
+C<LATIN CAPITAL LETTER A>?)
The short answer is that by default Perl compares equivalence
(C<eq>, C<ne>) based only on code points of the characters.
People like to see their strings nicely sorted, or as Unicode
parlance goes, collated. But again, what do you mean by collate?
- Does C<LATIN CAPITAL LETTER A WITH ACUTE> come before or after
- C<LATIN CAPITAL LETTER A WITH GRAVE>?
+(Does C<LATIN CAPITAL LETTER A WITH ACUTE> come before or after
+C<LATIN CAPITAL LETTER A WITH GRAVE>?)
The short answer is that by default Perl compares strings (C<lt>,
C<le>, C<cmp>, C<ge>, C<gt>) based only on the code points of the
=head2 Wildcard expansion
File specifications containing wildcards are allowed both on
-the command line and within Perl globs (e.g. <CE<lt>*.cE<gt>>). If
+the command line and within Perl globs (e.g. C<E<lt>*.cE<gt>>). If
the wildcard filespec uses VMS syntax, the resultant
filespecs will follow VMS syntax; if a Unix-style filespec is
passed in, Unix-style filespecs will be returned.
Perl for VMS supports redirection of input and output on the
command line, using a subset of Bourne shell syntax:
- <F<file> reads stdin from F<file>,
- >F<file> writes stdout to F<file>,
- >>F<file> appends stdout to F<file>,
- 2>F<file> writes stderr to F<file>, and
- 2>>F<file> appends stderr to F<file>.
+=over
+
+=item *
+
+C<E<lt>file> reads stdin from C<file>,
+
+=item *
+
+C<E<gt>file> writes stdout to C<file>,
+
+=item *
+
+C<E<gt>E<gt>file> appends stdout to C<file>,
+
+=item *
+
+C<2E<gt>file> writes stderr to C<file>, and
+
+=item *
+
+C<2E<gt>E<gt>file> appends stderr to C<file>.
+
+=back
In addition, output may be piped to a subprocess, using the
character '|'. Anything after this character on the command