For RT #118593, 118595, 118597, 118599.
Volker Schatz <perldoc@volkerschatz.com>
W. Geoffrey Rommel <grommel@sears.com>
W. Phillip Moore <wpm@ms.com>
+Wallace Reis <wreis@cpan.org>
Walt Mankowski <waltman@pobox.com>
Walter Briscoe <w.briscoe@ponl.com>
Warren Hyde <whyde@pezz.sps.mot.com>
perlpodspeccopy - Plain Old Documentation: format specification and notes
+=head1 DISCLAIMER
+
+This is a pod file used for testing purposes by the test suite, please
+see L<perlpodspec>.
+
=head1 DESCRIPTION
This document is detailed notes on the Pod markup language. Most
perlvarcopy - Perl predefined variables
+=head1 DISCLAIMER
+
+This is a pod file used for testing purposes by the test suite, please
+see L<perlvar>.
+
=head1 DESCRIPTION
=head2 Predefined Names
If you use the English module, you can even read the variable names:
- use English '-no_match_vars';
+ use English;
$ofh = select(OUTF);
$FORMAT_NAME = "My_Other_Format";
$FORMAT_TOP_NAME = "My_Top_Format";
STDIN. If you open a pipe I<from> minus, you can read from the filehandle
you opened whatever your kid writes to I<his> STDOUT.
- use English qw[ -no_match_vars ];
+ use English;
my $PRECIOUS = "/path/to/some/safe/file";
my $sleep_count;
my $pid;
as delimiters. This is particularly useful for matching path names
that contain "/", to avoid LTS (leaning toothpick syndrome). If "?" is
the delimiter, then a match-only-once rule applies,
-described in C<m?PATTERN?> below.
-If "'" is the delimiter, no interpolation is performed on the PATTERN.
+described in C<m?PATTERN?> below. If "'" (single quote) is the delimiter,
+no interpolation is performed on the PATTERN.
When using a character valid in an identifier, whitespace is required
after the C<m>.
best way to call something that might be subjected to shell escapes: just
never call the shell at all.
- use English '-no_match_vars';
+ use English;
die "Can't fork: $!" unless defined($pid = open(KID, "-|"));
if ($pid) { # parent
while (<KID>) {
at the top of your program. This aliases all the short names to the long
names in the current package. Some even have medium names, generally
-borrowed from B<awk>. To avoid a performance hit, if you don't need the
-C<$PREMATCH>, C<$MATCH>, or C<$POSTMATCH> it's best to use the C<English>
-module without them:
-
- use English '-no_match_vars';
+borrowed from B<awk>. For more info, please see L<English>.
Before you continue, note the sort order for variables. In general, we
first list the variables in case-insensitive, almost-lexigraphical
$1 is Mutt; $2 is Jeff
$1 is Wallace; $2 is Grommit
-If you are using Perl v5.18 or earlier, note that C<use
-English> imposes a considerable performance penalty on all regular
-expression matches in a program because it uses the C<$`>, C<$&>, and
-C<$'>, regardless of whether they occur in the scope of C<use
-English>. For that reason, saying C<use English> in libraries is
-strongly discouraged unless you import it without the match variables:
-
- use English '-no_match_vars'
-
The C<Devel::NYTProf> and C<Devel::FindAmpersand>
modules can help you find uses of these
problematic match variables in your code.