used to write pluggable regular expression engines (by Ævar Arnfjörð
Bjarmason).
-The L<perlunitut> manpage is an tutorial for programming with Unicode and
+The L<perlunitut> manpage is a tutorial for programming with Unicode and
string encodings in Perl, courtesy of Juerd Waalboer.
A new manual page, L<perlunifaq> (the Perl Unicode FAQ), has been added
The anonymous hash and array constructors now take 1 op in the optree
instead of 3, now that pp_anonhash and pp_anonlist return a reference to
-an hash/array when the op is flagged with OPf_SPECIAL. (Nicholas Clark)
+a hash/array when the op is flagged with OPf_SPECIAL. (Nicholas Clark)
=head1 Known Problems
=item *
C<SVf_UTF8> will call C<SvUTF8_on()> for you. (Note that this does
-not convert an sequence of ISO 8859-1 characters to UTF-8). A wrapper,
+not convert a sequence of ISO 8859-1 characters to UTF-8). A wrapper,
C<newSVpvn_utf8()> is available for this.
=item *
=item refcnt: fd %d%s
-This new error only occurs if a internal consistency check fails when a
+This new error only occurs if an internal consistency check fails when a
pipe is about to be closed.
=item Regexp modifier "/%c" may not appear twice
In this release, when assigning to C<%ENV>, values are immediately stringified,
and converted to be only a byte string.
-First, it is forced to be a only a string. Then if the string is utf8 and the
+First, it is forced to be only a string. Then if the string is utf8 and the
equivalent of C<utf8::downgrade()> works, that result is used; otherwise, the
equivalent of C<utf8::encode()> is used, and a warning is issued about wide
characters (L</Diagnostics>).
been restored,
Commit da6b625f78f5f133 in August 2011 inadvertently broke the code that looks
-up values in C<PL_stashcache>. As it's a only cache, quite correctly everything
+up values in C<PL_stashcache>. As it's only a cache, quite correctly everything
carried on working without it.
=item *
=item AIX
-A rarely-encounted configuration bug in the AIX hints file has been corrected.
+A rarely-encountered configuration bug in the AIX hints file has been corrected.
=item MidnightBSD
L<perl #113536|https://rt.perl.org/Public/Bug/Display.html?id=113536>, a memory
leak on every call to C<system> and backticks (C< `` >), on most Win32 Perls
starting from 5.18.0 has been fixed. The memory leak only occurred if you
-enabled psuedo-fork in your build of Win32 Perl, and were running that build on
+enabled pseudo-fork in your build of Win32 Perl, and were running that build on
Server 2003 R2 or newer OS. The leak does not appear on WinXP SP3.
[L<perl #121676|https://rt.perl.org/Public/Bug/Display.html?id=121676>]
L<perl #113536|https://rt.perl.org/Public/Bug/Display.html?id=113536>, a memory
leak on every call to C<system> and backticks (C< `` >), on most Win32 Perls
starting from 5.18.0 has been fixed. The memory leak only occurred if you
-enabled psuedo-fork in your build of Win32 Perl, and were running that build on
+enabled pseudo-fork in your build of Win32 Perl, and were running that build on
Server 2003 R2 or newer OS. The leak does not appear on WinXP SP3.
[L<perl #121676|https://rt.perl.org/Public/Bug/Display.html?id=121676>]
=item *
-Under certain conditions, Perl would throw an error if in an lookbehind
+Under certain conditions, Perl would throw an error if in a lookbehind
assertion in a regexp, the assertion referred to a named subpattern,
complaining the lookbehind was variable when it wasn't. This has been
fixed. [perl #120600], [perl #120618]. The current fix may be improved
Previously perl would redirect to another interpreter if it found a
hashbang path unless the path contains "perl" (see L<perlrun>). To improve
-compatability with Perl 6 this behavior has been extended to also redirect
+compatibility with Perl 6 this behavior has been extended to also redirect
if "perl" is followed by "6".
=head1 Security
environment. See README.os400.
Yet another cross-compilation option has been added: now Perl builds
-on OpenZaurus, an Linux distribution based on Mandrake + Embedix for
+on OpenZaurus, a Linux distribution based on Mandrake + Embedix for
the Sharp Zaurus PDA. See the Cross/README file.
Tru64 when using gcc 3 drops the optimisation for F<toke.c> to C<-O2>
=head2 Non-string passed as bitmask
-This is a new warning, produced when number has been passed as a argument to
+This is a new warning, produced when number has been passed as an argument to
select(), instead of a bitmask.
# Wrong, will now warn
the variable for a future special meaning, its use will be a fatal
error in Perl 5.30.
-To specify how numbers are formatted when printed, one is adviced
+To specify how numbers are formatted when printed, one is advised
to use C<< printf >> or C<< sprintf >> instead.
=head3 Assigning non-zero to C<< $[ >> will be fatal
in Perl 5.000; as of Perl 5.28, using a bare here-document terminator
throws a fatal error.
-You are encouraged to use the explictly quoted form if you wish to
+You are encouraged to use the explicitly quoted form if you wish to
use an empty line as the terminator of the here-document:
print <<"";
(W regexp) You used a Unicode boundary (C<\b{...}> or C<\B{...}>) in a
portion of a regular expression where the character set modifiers C</a>
or C</aa> are in effect. These two modifiers indicate an ASCII
-interpretation, and this doesn't make sense for a Unicode defintion.
+interpretation, and this doesn't make sense for a Unicode definition.
The generated regular expression will compile so that the boundary uses
all of Unicode. No other portion of the regular expression is affected.
This is completely general, but the most computationally expensive
strategy. Choose one or the other character set and transform to that
-for every sort comparision. Here's a complete example that transforms
+for every sort comparison. Here's a complete example that transforms
to ASCII sort order:
sub native_to_uni($) {
# prints tinysmallnormalbighuge
-C<$a> and C<$b> are implicitely local to the sort() execution and regain their
+C<$a> and C<$b> are implicitly local to the sort() execution and regain their
former values upon completing the sort.
Sort subroutines written using C<$a> and C<$b> are bound to their calling
C<L<Unicode::Collate::Locale>> modules offer much more powerful
solutions to collation issues.
-For case-insensitive comparisions, look at the L<perlfunc/fc> case-folding
+For case-insensitive comparisons, look at the L<perlfunc/fc> case-folding
function, available in Perl v5.16 or later:
if ( fc($x) eq fc($y) ) { ... }
\W A non-word character
\s A whitespace character
\S A non-whitespace character
- \h An horizontal whitespace
+ \h A horizontal whitespace
\H A non horizontal whitespace
\N A non newline (when not followed by '{NAME}';;
not valid in a character class; equivalent to [^\n]; it's
$str =~ /pattern/;
- print $`, $&, $'; # bad: perfomance hit
+ print $`, $&, $'; # bad: performance hit
- print # good: no perfomance hit
+ print # good: no performance hit
substr($str, 0, $-[0]),
substr($str, $-[0], $+[0]-$-[0]),
substr($str, $+[0]);