=head1 Modules and Pragmata
-=head2 New Modules
+=head2 New Modules and Pragmata
=over 4
=item *
+C<Devel::PPPort>, from Kenneth Albanowski, has been added. It is
+primarily used by C<h2xs> to enhance portability of of XS modules
+between different versions of Perl.
+
+=item *
+
C<Digest>, frontend module for calculating digests (checksums), from
Gisle Aas, has been added. See L<Digest>.
=item *
+C<open> is a new pragma for setting the default I/O disciplines
+for open().
+
+=item *
+
C<PerlIO::Scalar> provides the implementation of IO to "in memory"
Perl scalars as discussed above, from Nick Ing-Simmons. It also
serves as an example of a loadable PerlIO layer. Other future
=item *
+C<Pod::ParseLink>, by Russ Allbery, has been added,
+to parse L<> links in pods as described in the new
+perlpodspec.
+
+=item *
+
C<Pod::Text::Overstrike>, by Joe Smith, has been added.
It converts POD data to formatted overstrike text.
See L<Pod::Text::Overstrike>.
=item *
+C<sort> is a new pragma for controlling the behaviour of sort().
+
+=item *
+
C<Storable> gives persistence to Perl data structures by allowing the
storage and retrieval of Perl data to and from files in a fast and
compact binary format, from Raphael Manfredi. See L<Storable>.
=item *
-Data::Dumper has now an option to sort hashes.
-
-=item *
-
-The English module can now be used without the infamous performance
-hit by saying
-
- use English '-no_performance_hit';
-
-(Assuming, of course, that one doesn't need the troublesome variables
-C<$`>, C<$&>, or C<$'>.) Also, introduced C<@LAST_MATCH_START> and
-C<@LAST_MATCH_END> English aliases for C<@-> and C<@+>.
-
-=item *
-
-File::Find now has pre- and post-processing callbacks. It also
-correctly changes directories when chasing symbolic links. Callbacks
-(naughtily) exiting with "next;" instead of "return;" now work.
+B::Deparse has been significantly enhanced. It now can deparse almost
+all of the standard test suite (so that the tests still succeed).
+There is a make target "test.deparse" for trying this out.
=item *
-File::Glob::glob() renamed to File::Glob::bsd_glob() to avoid
-prototype mismatch with CORE::glob().
+Class::Struct can now define the classes in compile time.
=item *
-IPC::Open3 now allows the use of numeric file descriptors.
+Class::Struct now assigns the array/hash element if the accessor
+is called with an array/hash element as the B<sole> argument.
=item *
-use lib now works identically to @INC. Removing directories
-with 'no lib' now works.
+Data::Dumper has now an option to sort hashes.
=item *
-C<%INC> now localised in a Safe compartment so that use/require work.
+Data::Dumper has now an option to dump code references
+using B::Deparse.
=item *
-The Shell module now has an OO interface.
+The English module can now be used without the infamous performance
+hit by saying
-=item *
+ use English '-no_performance_hit';
-B::Deparse has been significantly enhanced. It now can deparse almost
-all of the standard test suite (so that the tests still succeed).
-There is a make target "test.deparse" for trying this out.
+(Assuming, of course, that one doesn't need the troublesome variables
+C<$`>, C<$&>, or C<$'>.) Also, introduced C<@LAST_MATCH_START> and
+C<@LAST_MATCH_END> English aliases for C<@-> and C<@+>.
=item *
-Class::Struct can now define the classes in compile time.
+Fcntl, Socket, and Sys::Syslog have been rewritten to use the
+new-style constant dispatch section (see L<ExtUtils::Constant>).
+This means that they will be more robust and hopefully faster.
=item *
-Class::Struct now assigns the array/hash element if the accessor
-is called with an array/hash element as the B<sole> argument.
+File::Find now has pre- and post-processing callbacks. It also
+correctly changes directories when chasing symbolic links. Callbacks
+(naughtily) exiting with "next;" instead of "return;" now work.
=item *
-Fcntl, Socket, and Sys::Syslog have been rewritten to use the
-new-style constant dispatch section (see L<ExtUtils::Constant>).
+File::Find is now (again) reentrant. It also has been made
+more portable.
=item *
-File::Find is now (again) reentrant. It also has been made
-more portable.
+File::Glob::glob() renamed to File::Glob::bsd_glob() to avoid
+prototype mismatch with CORE::glob().
=item *
=item *
+IPC::Open3 now allows the use of numeric file descriptors.
+
+=item *
+
IO::Socket has now atmark() method, which returns true if the socket
is positioned at the out-of-band mark. The method is also exportable
as a sockatmark() function.
=item *
-Math::BigFloat and Math::BigInt have undergone much fixing,
-they are now magnitudes faster, and they support various
+use lib now works identically to @INC. Removing directories
+with 'no lib' now works.
+
+=item *
+
+Math::BigFloat and Math::BigInt have undergone a full rewrite.
+They are now magnitudes faster, and they support various
bignum libraries such as GMP and PARI as their backends.
=item *
=item *
-The C<open> pragma allows layers other than ":raw" and ":crlf" when
-using PerlIO.
-
-=item *
-
POSIX::sigaction() is now much more flexible and robust.
You can now install coderef handlers, 'DEFAULT', and 'IGNORE'
handlers, installing new handlers was not atomic.
=item *
+C<%INC> now localised in a Safe compartment so that use/require work.
+
+=item *
+
+The Shell module now has an OO interface.
+
+=item *
+
The Test module has been significantly enhanced.
=item *
=item *
-h2xs now produces a template README.
+C<h2ph> now supports C trigraphs.
+
+=item *
+
+C<h2xs> now produces a template README.
=item *
-L<h2ph> now supports C trigraphs.
+C<h2xs> now uses C<Devel::PPort> for better portability between
+different versions of Perl.
=item *
-L<h2xs> uses the new L<ExtUtils::Constant> module which will affect
+C<h2xs> uses the new L<ExtUtils::Constant> module which will affect
newly created extensions that define constants. Since the new code is
more correct (if you have two constants where the first one is a
prefix of the second one, the first constant B<never> gets defined),
=item *
-L<libnetcfg> has been added to configure the libnet.
+C<libnetcfg> has been added to configure the libnet.
=item *
-perlbug is now much more robust. It also sends the bug report to
+C<perlbug> is now much more robust. It also sends the bug report to
perl.org, not perl.com.
=item *
-perlcc has been rewritten and its user interface (that is,
+C<perlcc> has been rewritten and its user interface (that is,
command line) is much more like that of the UNIX C compiler, cc.
=item *
-perlivp is a new utility for doing Installation Verification
+C<perlivp> is a new utility for doing Installation Verification
Procedure after installing Perl.
=item *
-pod2html now allows specifying a cache directory.
+C<pod2html> now allows specifying a cache directory.
=item *
-s2p has been completely rewritten in Perl. (It is in fact a full
-implementation of sed in Perl.)
+C<s2p> has been completely rewritten in Perl. (It is in fact a full
+implementation of sed in Perl: you can use the sed functionality by
+using the C<psed> utility.)
=item *
-xsubpp now understands POD documentation embedded in the *.xs files.
+C<xsubpp> now understands POD documentation embedded in the *.xs files.
=item *
-xsubpp now supports OUT keyword.
+C<xsubpp> now supports OUT keyword.
=back