Mass Deface
for the explanation of the current model,
and L for the current use of the utf8 pragma.
=head2 New Unicode Properties
Unicode I are now supported. Scripts are similar to (and superior
to) Unicode I. The difference between scripts and blocks is that
scripts are the glyphs used by a language or a group of languages, while
the blocks are more artificial groupings of (mostly) 256 characters based
on the Unicode numbering.
In general, scripts are more inclusive, but not universally so. For
example, while the script C includes all the Latin characters and
their various diacritic-adorned versions, it does not include the various
punctuation or digits (since they are not solely C).
A number of other properties are now supported, including C<\p{L&}>,
C<\p{Any}> C<\p{Assigned}>, C<\p{Unassigned}>, C<\p{Blank}> [561] and
C<\p{SpacePerl}> [561] (along with their C<\P{...}> versions, of course).
See L for details, and more additions.
The C or C prefix to names used with the C<\p{...}> and C<\P{...}>
are now almost always optional. The only exception is that a C prefix
is required to signify a Unicode block when a block name conflicts with a
script name. For example, C<\p{Tibetan}> refers to the script, while
C<\p{InTibetan}> refers to the block. When there is no name conflict, you
can omit the C from the block name (e.g. C<\p{BraillePatterns}>), but
to be safe, it's probably best to always use the C).
=head2 REF(...) Instead Of SCALAR(...)
A reference to a reference now stringifies as "REF(0x81485ec)" instead
of "SCALAR(0x81485ec)" in order to be more consistent with the return
value of ref().
=head2 pack/unpack D/F recycled
The undocumented pack/unpack template letters D/F have been recycled
for better use: now they stand for long double (if supported by the
platform) and NV (Perl internal floating point type). (They used
to be aliases for d/f, but you never knew that.)
=head2 glob() now returns filenames in alphabetical order
The list of filenames from glob() (or <...>) is now by default sorted
alphabetically to be csh-compliant (which is what happened before
in most Unix platforms). (bsd_glob() does still sort platform
natively, ASCII or EBCDIC, unless GLOB_ALPHASORT is specified.) [561]
=head2 Deprecations
=over 4
=item *
The semantics of bless(REF, REF) were unclear and until someone proves
it to make some sense, it is forbidden.
=item *
The obsolete chat2 library that should never have been allowed
to escape the laboratory has been decommissioned.
=item *
Using chdir("") or chdir(undef) instead of explicit chdir() is
doubtful. A failure (think chdir(some_function()) can lead into
unintended chdir() to the home directory, therefore this behaviour
is deprecated.
=item *
The builtin dump() function has probably outlived most of its
usefulness. The core-dumping functionality will remain in future
available as an explicit call to C, but in future
releases the behaviour of an unqualified C call may change.
=item *
The very dusty examples in the eg/ directory have been removed.
Suggestions for new shiny examples welcome but the main issue is that
the examples need to be documented, tested and (most importantly)
maintained.
=item *
The (bogus) escape sequences \8 and \9 now give an optional warning
("Unrecognized escape passed through"). There is no need to \-escape
any C<\w> character.
=item *
The *glob{FILEHANDLE} is deprecated, use *glob{IO} instead.
=item *
The C syntax (C without an argument) has been
deprecated. Its semantics were never that clear and its
implementation even less so. If you have used that feature to
disallow all but fully qualified variables, C