(Pure Perl modules should continue to work.)
-The major reason for the discontinity is the new IO architecture
+The major reason for the discontinuity is the new IO architecture
called PerlIO. PerlIO is the default configuration because
without it many new features of Perl 5.8 cannot be used. In other
words: you just have to recompile your modules, sorry about that.
=item *
+POSIX::sleep() now returns the number of I<unslept> seconds
+(as the POSIX standard says), as opposed to CORE::sleep() which
+returns the number of slept seconds.
+
+=item *
+
The printf() and sprintf() now support parameter reordering using the
C<%\d+\$> and C<*\d+\$> syntaxes. For example
storage and retrieval of Perl data to and from files in a fast and
compact binary format. Because in effect Storable does serialisation
of Perl data structues, with it you can also clone deep, hierarchical
-datastructures. Storable was created by Raphael Manfredi but it is
-now maintained by the Perl development team. Storable has been
+datastructures. Storable was originally created by Raphael Manfredi,
+but it is now maintained by Abhijit Menon-Sen. Storable has been
enhanced to understand the two new hash features, Unicode keys and
restricted hashes. See L<Storable>.
=item *
+The return value of Cwd::fastcwd() is now tainted.
+
+=item *
+
Data::Dumper has now an option to sort hashes.
=item *
=item *
+Devel::Peek now has an interface for the Perl memory statistics
+(this works only if you are using perl's malloc, and if you have
+compiled with debugging).
+
+=item *
+
The English module can now be used without the infamous performance
hit by saying
=item *
+ExtUtils::MakeMaker now uses File::Spec internally, which hopefully
+leads into better portability.
+
+=item *
+
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 *
-Devel::Peek now has an interface for the Perl memory statistics
-(this works only if you are using perl's malloc, and if you have
-compiled with debugging).
-
-=item *
-
IPC::Open3 now allows the use of numeric file descriptors.
=item *
=item *
-ExtUtils::MakeMaker now uses File::Spec internally, which hopefully
-leads into better portability.
-
-=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 *
caller() could cause core dumps in certain situations. Carp was sometimes
-affected by this problem.
+affected by this problem. In particular, caller() now returns a
+subroutine name of C<(unknown)> for subroutines that have been removed
+from the symbol table.
=item *
=item *
C<*foo{FORMAT}> now works.
+
=item *
Infinity is now recognized as a number.
=back
-=head2 Amiga Perl Invoking Mystery
-
-One cannot call Perl using the C<volume:> syntax, that is, C<perl -v>
-works, but for example C<bin:perl -v> doesn't. The exact reason isn't
-known but the current suspect is the F<ixemul> library.
-
=head2 ext/threads/t/libc
If this test fails, it indicates that your libc (C library) is not
14.5.0 and GNU C++/GNU Tools 2.0.1, all attempted tests either
pass or result in TODO (ignored) failures.
+=head Term::ReadKey not working on Win32
+
+Use Term::ReadKey 2.20 or later.
+
=head2 Failure of Thread (5.005-style) tests
B<Note that support for 5.005-style threading is deprecated,
../lib/autouse.t 10 1 10.00% 4
op/flip.t 15 1 6.67% 15
-These failures are unlikely to get fixed as the 5.005-style
-threads are considered fundamentally broken.
+These failures are unlikely to get fixed as the 5.005-style threads
+are considered fundamentally broken. (Basically what happens is that
+competing threads can corrupt shared global state.)
=head2 UNICOS
- Failed Test Stat Wstat Total Fail Failed List of Failed
- -------------------------------------------------------------------------
- ../ext/Socket/socketpair.t 1 256 45 1 2.22% 12
- ../lib/Math/Trig.t 26 1 3.85% 25
- ../lib/warnings.t 460 1 0.22% 425
- io/fs.t 36 1 2.78% 31
- op/numconvert.t 1440 13 0.90% 208 509-510
- 657-658 665-666 829-830 989-990 1149-1150
+ ../ext/Socket/socketpair.t 1 256 45 1 2.22% 12
+ ../ext/Storable/t/downgrade.t 92 23552 59 6 10.17% 144-147
+ 150-151
+ ../lib/Math/Trig.t 26 1 3.85% 25
+ ../lib/warnings.t 470 1 0.21% 429
+ op/numconvert.t 1440 13 0.90% 208 509-510
+ 657-658 665-666 829-830 989-990 1149-1150
+
+The Trig and numconvert failures are caused by the slighly differing
+(from IEEE) floating point implementation of UNICOS. The warnings
+failure is also related: the test assumes a certain floating point
+output format, this assumption fails in UNICOS.
=head2 UNICOS/mk
331 333 337 339
../ext/IO/lib/IO/t/io_unix.t 5 4 80.00% 2-5
../ext/Storable/t/downgrade.t 12 3072 169 12 7.10% 14-15 46-47 78-79
- 110-111 137 143
- 150 161
+ 110-111 150 161
../lib/ExtUtils/t/Constant.t 121 30976 48 48 100.00% 1-48
../lib/ExtUtils/t/Embed.t 9 9 100.00% 1-9
op/pat.t 910 7 0.77% 665 776 785 832-
834 845
op/sprintf.t 224 3 1.34% 98 100 136
op/tr.t 97 5 5.15% 63 71-74
- run/fresh_perl.t 95 3 3.16% 92-94
uni/fold.t 780 6 0.77% 61 169 196 661
710-711
+The dumper.t and downgrade.t are problems in the tests, the io_unix
+and sprintf are problems in the USS (UDP sockets and printf formats).
+The pat, tr, and fold are genuine Perl problems caused by EBCDIC (and
+in the pat and fold cases, combining that with Unicode). The Constant
+and Embed are probably problems in the tests (since they test Perl's
+ability to build extensions, and that seems to be working reasonably well.)
+
=head2 Localising Tied Arrays and Hashes Is Broken
local %tied_array;
Though mostly working, Unicode support still has problem spots on
EBCDIC platforms. One such known spot are the C<\p{}> and C<\P{}>
regular expression constructs for code points less than 256: the
-pP are testing for Unicode code points, not knowing about EBCDIC.
+C<pP> are testing for Unicode code points, not knowing about EBCDIC.
-=head2 The Compiler Suite Is Still Experimental
+=head2 The Compiler Suite Is Still Very Experimental
The compiler suite is slowly getting better but it continues to be
highly experimental. Use in production environments is discouraged.
core module. It is still a useful module, though, and is available
from the CPAN.
+Perl 5.8 unfortunately does not build anymore on AmigaOS,
+this broke at some point accidentally. Since there are not that many
+Amiga developers available, we could not get this fixed and tested in
+time for 5.8.0.
+
=head1 Reporting Bugs
If you find what you think is a bug, you might check the articles