X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=blobdiff_plain;f=pod%2Fperldelta.pod;h=9810576d26b1848295c706ff4bf5c9723c292669;hb=37e23fd64c66e11ed3d3af7d538d5be2bd58700f;hp=08e70a8f2f6ede1007a9396fd008c4a64d3f5e92;hpb=bbed45f69afd2733a47fb6f98dde2d952fd14e1e;p=p5sagit%2Fp5-mst-13.2.git diff --git a/pod/perldelta.pod b/pod/perldelta.pod index 08e70a8..9810576 100644 --- a/pod/perldelta.pod +++ b/pod/perldelta.pod @@ -46,6 +46,28 @@ More Extensive Regression Testing =head1 Incompatible Changes +=head2 Binary Incompatibility + +B + +B + +(Pure Perl modules should continue to work.) + +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 containing XS code, sorry +about that. + +In future releases of Perl, non-PerlIO aware XS modules may become +completely unsupported. This shouldn't be too difficult for module +authors, however: PerlIO has been designed as a drop-in replacement +(at the source code level) for the stdio interface. + +Depending on your platform, there are also other reasons why +we decided to break binary compatibility, please read on. + =head2 64-bit platforms and malloc If your pointers are 64 bits wide, the Perl malloc is no longer being @@ -222,6 +244,12 @@ to be removed in a future release. =item * +The 5.005 threads model (module C) is deprecated and expected +to be removed in Perl 5.10. Multithreaded code should be migrated to +the new ithreads model (see L and L). + +=item * + The long deprecated uppercase aliases for the string comparison operators (EQ, NE, LT, LE, GE, GT) have now been removed. @@ -234,9 +262,16 @@ functionality, see pack('U0', ...) and pack('C0', ...). =item * Earlier Perls treated "sub foo (@bar)" as equivalent to "sub foo (@)". -The prototypes are now checked at compile-time for invalid characters. -An optional warning is generated ("Illegal character in prototype...") -but this may be upgraded to a fatal error in a future release. +The prototypes are now checked better at compile-time for invalid +syntax. An optional warning is generated ("Illegal character in +prototype...") but this may be upgraded to a fatal error in a future +release. + +=item * + +The existing behaviour when localising tied arrays and hashes is wrong, +and will be changed in a future release, so do not rely on the existing +behaviour. See L<"Localising Tied Arrays and Hashes Is Broken">. =back @@ -321,6 +356,13 @@ B, is UTF-8. =back +=head2 Restricted Hashes + +A restricted hash is restricted to a certain set of keys, no keys +outside the set can be added. Also individual keys can be restricted +so that the key cannot be deleted and the value cannot be changed. +No new syntax is involved: the Hash::Util module is the interface. + =head2 Safe Signals Perl used to be fragile in that signals arriving at inopportune moments @@ -355,7 +397,7 @@ to Unicode 3.2.0. For more information, see http://www.unicode.org/ . For developers interested in enhancing Perl's Unicode capabilities: almost all the UCD files are included with the Perl distribution in -the F. The most notable omission, for space +the F subdirectory. The most notable omission, for space considerations, is the Unihan database. =item * @@ -397,6 +439,18 @@ to AUTOLOAD subroutines and you can assign to the AUTOLOAD return value. =item * +The $Config{byteorder} (and corresponding BYTEORDER in config.h) was +previously wrong in platforms if sizeof(long) was 4, but sizeof(IV) +was 8. The byteorder was only sizeof(long) bytes long (1234 or 4321), +but now it is correctly sizeof(IV) bytes long, (12345678 or 87654321). +(This problem didn't affect Windows platforms.) + +Also, $Config{byteorder} is now computed dynamically--this is more +robust with "fat binaries" where an executable image contains binaries +for more than one binary platform, and when cross-compiling. + +=item * + C now works (previously one couldn't pass in multiple arguments.) @@ -479,6 +533,12 @@ my __PACKAGE__ $obj now works. =item * +POSIX::sleep() now returns the number of I 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 @@ -516,6 +576,11 @@ errors so consider starting laundering now. =item * +Tied hash interfaces are now required to have the EXISTS and DELETE +methods (either own or inherited). + +=item * + If tr/// is just counting characters, it doesn't attempt to modify its target. @@ -641,14 +706,15 @@ included since its further use is discouraged. =item * -C, by Nick Ing-Simmons and Dan Kogai, provides a mechanism to -translate between different character encodings. Support for Unicode, -ISO-8859-1, and ASCII are compiled in to the module. Several other -encodings (like the rest of the ISO-8859, CP*/Win*, Mac, KOI8-R, three -variants EBCDIC, Chinese, Japanese, and Korean encodings) are included -and can be loaded at runtime. (For space considerations, the largest -Chinese encodings have been separated into their own CPAN module, -Encode::HanExtra, which Encode will use if available). See L. +C, orginally by Nick Ing-Simmons and now maintained by Dan +Kogai, provides a mechanism to translate between different character +encodings. Support for Unicode, ISO-8859-1, and ASCII are compiled in +to the module. Several other encodings (like the rest of the +ISO-8859, CP*/Win*, Mac, KOI8-R, three variants EBCDIC, Chinese, +Japanese, and Korean encodings) are included and can be loaded at +runtime. (For space considerations, the largest Chinese encodings +have been separated into their own CPAN module, Encode::HanExtra, +which Encode will use if available). See L. Any encoding supported by Encode module is also available to the ":encoding()" layer if PerlIO is used. @@ -656,10 +722,7 @@ Any encoding supported by Encode module is also available to the =item * C is the interface to the new I -feature. A restricted hash is restricted to a certain set of keys, -no keys outside the set can be added. Also individual keys can be -restricted so that the key cannot be deleted and the value cannot be -changed. (Implemented by Jeffrey Friedl, Nick Ing-Simmons, and +feature. (Implemented by Jeffrey Friedl, Nick Ing-Simmons, and Michael Schwern.) =item * @@ -738,10 +801,10 @@ sum(), min(), first(), and shuffle(), by Graham Barr. See L. =item * -C, C, C, and -C, from Neil Bowers, have been added. They provide the -codes for various locale standards, such as "fr" for France, "usd" for -US Dollar, and "jp" for Japanese. +C, C, C +C, and L, from Neil Bowers, have +been added. They provide the codes for various locale standards, such +as "fr" for France, "usd" for US Dollar, and "ja" for Japanese. use Locale::Country; @@ -760,7 +823,7 @@ Journal #13, republished here with kind permission. =item * -Math::BigRat for big rational numbers, to accompany Math::BigInt and +C for big rational numbers, to accompany Math::BigInt and Math::BigFloat, from Tels. =item * @@ -859,7 +922,12 @@ C is a new pragma for controlling the behaviour of sort(). C 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. +compact binary format. Because in effect Storable does serialisation +of Perl data structues, with it you can also clone deep, hierarchical +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. =item * @@ -1008,6 +1076,10 @@ is called with an array/hash element as the B argument. =item * +The return value of Cwd::fastcwd() is now tainted. + +=item * + Data::Dumper has now an option to sort hashes. =item * @@ -1022,6 +1094,12 @@ other improvements. =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 @@ -1033,6 +1111,11 @@ C<@LAST_MATCH_END> English aliases for C<@-> and C<@+>. =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). This means that they will be more robust and hopefully faster. @@ -1069,12 +1152,6 @@ the returned list of filenames. =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 * @@ -1101,11 +1178,6 @@ with 'no lib' now works. =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. @@ -1243,6 +1315,8 @@ perl.org, not perl.com. C has been rewritten and its user interface (that is, command line) is much more like that of the UNIX C compiler, cc. (The perlbc tools has been removed. Use C instead.) +B =item * @@ -1264,7 +1338,7 @@ C now produces XHTML 1.0. =item * -C now understands POD written using different line endings\ +C now understands POD written using different line endings (PC-like CRLF versus UNIX-like LF versus MacClassic-like CR). =item * @@ -1541,8 +1615,9 @@ warning that there may be trouble ahead. =item * -If binary compatibility with the 5.005 release is not wanted, Configure -no longer suggests including the 5.005 modules in @INC. +Since Perl 5.8 is not binary-compatible with previous releases +of Perl, Configure no longer suggests including the 5.005 +modules in @INC. =item * @@ -1563,12 +1638,6 @@ installperl now outputs everything to STDERR. =item * -$Config{byteorder} is now computed dynamically (this is more robust -with "fat binaries" where an executable image contains binaries for -more than one binary platform.) - -=item * - Because PerlIO is now the default on most platforms, "-perlio" doesn't get appended to the $Config{archname} (also known as $^O) anymore. Instead, if you explicitly choose not to use perlio (Configure command @@ -1684,6 +1753,15 @@ floating-point numbers is now more picky about using sprintf %.*g rules for the conversion. Some platforms that used to use gcvt may now resort to the slower sprintf. +=item * + +The obsolete method of making a special (e.g., debugging) flavor +of perl by saying + + make LIBPERL=libperld.a + +has been removed. Use -DDEBUGGING instead. + =back =head2 New Or Improved Platforms @@ -1704,10 +1782,6 @@ long doubles support in AIX should be better now. See L. =item * -After a long pause, AmigaOS has been verified to be happy with Perl. - -=item * - AtheOS ( http://www.atheos.cx/ ) is a new platform. =item * @@ -1782,6 +1856,13 @@ in unexpected order. =item * +Stratus VOS is now supported using Perl's native build method +(Configure). This is the recommended method to build Perl on +VOS. The older methods, which build miniperl, are still +available. See L. + +=item * + Amdahl UTS UNIX mainframe platform is now supported. =item * @@ -1811,7 +1892,9 @@ The autouse pragma didn't work for Multi::Part::Function::Names. =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 * @@ -1856,6 +1939,7 @@ L -R didn't work. =item * C<*foo{FORMAT}> now works. + =item * Infinity is now recognized as a number. @@ -1901,6 +1985,40 @@ Fixed numerous memory leaks, especially in eval "". =item * +Localised tied variables no more leak memory + + use Tie::Hash; + tie my %tied_hash => 'Tie::StdHash'; + + ... + + # Used to leak memory every time local() was called, + # in a loop this added up. + local($tied_hash{Foo}) = 1; + +=item * + +Localised hash elements (and %ENV) are correctly unlocalised to not to +exist, if that's what they were. + + + use Tie::Hash; + tie my %tied_hash => 'Tie::StdHash'; + + ... + + # Nothing has set the FOO element so far + + { local $tied_hash{FOO} = 'Bar' } + + # This used to print, but not now. + print "exists!\n" if exists $tied_hash{FOO}; + +As a side effect of this fix, tied hash interfaces B define +the EXISTS and DELETE methods. + +=item * + mkdir() now ignores trailing slashes in the directory name, as mandated by POSIX. @@ -2095,7 +2213,7 @@ UTF-16 (UCS-2) encoded Perl files should now be read correctly. =item * -The character tables have been updated to Unicode 3.1.1. +The character tables have been updated to Unicode 3.2.0. =item * @@ -2188,7 +2306,8 @@ Perl now works on post-3.0 FreeBSDs. HP-UX -README.hpux updated; C now works. +README.hpux updated; C now works; +now uses HP-UX malloc instead of Perl malloc. =item * @@ -2231,6 +2350,12 @@ MPE/iX update after Perl 5.6.0. See README.mpeix. =item * +NetBSD/threads: try installing the GNU pth (should be in the +packages collection, or http://www.gnu.org/software/pth/), +and Configure with -Duseithreads. + +=item * + NetBSD/sparc Perl now works on NetBSD/sparc. @@ -2249,6 +2374,15 @@ Solaris =item * +Stratus VOS + +The native build method requires at least VOS Release 14.5.0 +and GNU C++/GNU Tools 2.0.1 or later. The Perl pack function +now maps overflowed values to +infinity and underflowed values +to -infinity. + +=item * + Tru64 (aka Digital UNIX, aka DEC OSF/1) The operating system version letter now recorded in $Config{osvers}. @@ -2277,8 +2411,7 @@ unimplemented. It now works as documented. The C emulation has been improved. The worst bug (now fixed) was that a pid of -1 would cause a wildcard search of all processes on -the system. The most significant enhancement is that we can now -usually get the completion status of a terminated process. +the system. POSIX-style signals are now emulated much better on VMS versions prior to 7.0. @@ -2290,6 +2423,14 @@ File access tests now use current process privileges rather than the user's default privileges, which could sometimes result in a mismatch between reported access and actual access. +There is a new C implementation based on C that allows +older VMS systems (pre-7.0) to use C to send signals rather than +simply force exit. This implementation also allows later systems to +call C from within a signal handler. + +Iterative logical name translations are now limited to 10 iterations in +imitation of SHOW LOGICAL and other OpenVMS facilities. + =item * Windows @@ -2374,7 +2515,7 @@ concurrently. (Still 16M per thread.) =item * -C now prefers C:/temp over /tmp +C<< File::Spec->tmpdir() >> now prefers C:/temp over /tmp (works better when perl is running as service). =item * @@ -2388,6 +2529,10 @@ Windows 9x. =item * +Win64 compilation is now supported. + +=item * + winsock handle leak fixed. =item * @@ -2601,12 +2746,12 @@ such as sudo ( see http://www.courtesan.com/sudo/ ). =head1 New Tests -Several new tests have been added, especially for the F -subsection. There are now about 56 000 individual tests (spread over -about 620 test scripts), in the regression suite (5.6.1 has about -11700 tests, in 258 test scripts) Many of the new tests are introduced -by the new modules, but still in general Perl is now more thoroughly -tested. +Several new tests have been added, especially for the F and F +subsections. There are now about 65 000 individual tests (spread over +about 700 test scripts), in the regression suite (5.6.1 has about +11700 tests, in 258 test scripts) Many of the new tests are of course +introduced by the new modules, but still in general Perl is now more +thoroughly tested. Because of the large number of tests, running the regression suite will take considerably longer time than it used to: expect the suite @@ -2655,11 +2800,25 @@ having slightly different types for their first argument. =back -=head2 Amiga Perl Invoking Mystery +=head2 BeOS -One cannot call Perl using the C syntax, that is, C -works, but for example C doesn't. The exact reason isn't -known but the current suspect is the F library. +The following tests fail on 5.8.0 Perl in BeOS Personal 5.03: + + t/op/lfs............................FAILED at test 17 + t/op/magic..........................FAILED at test 24 + ext/Fcntl/t/syslfs..................FAILED at test 17 + ext/File/Glob/t/basic...............FAILED at test 3 + ext/POSIX/t/sigaction...............FAILED at test 13 + ext/POSIX/t/waitpid.................FAILED at test 1 + lib/Tie/File/t/16_handle............FAILED at test 39 + +See L (README.beos) for more details. + +=head2 ext/threads/t/libc + +If this test fails, it indicates that your libc (C library) is not +threadsafe. This particular test stress tests the localtime() call to +find out whether it is threadsafe. See L for more information. =head2 FreeBSD Failing locale Test 117 For ISO8859-15 Locales @@ -2668,6 +2827,14 @@ This is caused by the characters \xFF (y with diaeresis) and \xBE (Y with diaeresis) not behaving correctly when being matched case-insensitively. +=head2 Modifying $_ Inside for(..) + + for (1..5) { $_++ } + +works without complaint. It shouldn't. (You should be able to +modify only lvalue elements inside the loops.) You can see the +correct behaviour by replacing the 1..5 with 1, 2, 3, 4, 5. + =head2 mod_perl 1.26 Doesn't Build With Threaded Perl Use mod_perl 1.27 or higher. @@ -2676,7 +2843,7 @@ Use mod_perl 1.27 or higher. Don't panic. Read INSTALL 'make test' section instead. -=head2 HP-UX lib/posix Subtest 9 Fails When LP64-Configured +=head2 HP-UX lib/posix Subtest 9 Fails When LP64-Configured If perl is configured with -Duse64bitall, the successful result of the subtest 10 of lib/posix may arrive before the successful result of the @@ -2699,12 +2866,19 @@ The following tests are known to fail: ------------------------------------------------------------------------- ../ext/DB_File/t/db-btree.t 0 11 ?? ?? % ?? ../ext/DB_File/t/db-recno.t 149 3 2.01% 61 63 65 - ../ext/POSIX/t/posix.t 31 1 3.23% 10 If you are building on a UFS partition, you will also probably see t/op/stat.t subtest #9 fail. This is caused by Darwin's UFS not supporting inode change time. +Also the ext/POSIX/t/posix.t subtest #10 fails but it is skipped for +now because the failure is Apple's fault, not Perl's (blocked signals +are lost). + +If you Configure with ithreads, ext/threads/t/libc.t will fail, again +not Perl's fault-- the libc of Mac OS X is not threadsafe (in this +particular test the localtime() call is found to be threadunsafe.) + =head2 op/sprintf tests 91, 129, and 130 The op/sprintf tests 91, 129, and 130 are known to fail on some platforms. @@ -2719,10 +2893,27 @@ be exact. (They produce something other than "1" and "-1" when formatting 0.6 and -0.6 using the printf format "%.0f", most often they produce "0" and "-0".) +=head2 Solaris 2.5 + +In case you are still using Solaris 2.5 (aka SunOS 5.5), you may +experience failures (the test core dumping) in lib/locale.t. +The suggested cure is to upgrade your Solaris. + +=head2 Stratus VOS + +When Perl is built using the native build process on VOS Release +14.5.0 and GNU C++/GNU Tools 2.0.1, all attempted tests either +pass or result in TODO (ignored) failures. + +=head2 Term::ReadKey not working on Win32 + +Use Term::ReadKey 2.20 or later. + =head2 Failure of Thread (5.005-style) tests -B +B The following tests are known to fail due to fundamental problems in the 5.005 threading implementation. These are not new failures--Perl @@ -2735,26 +2926,19 @@ the 5.005 threading implementation. These are not new failures--Perl ../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 - -=head2 UNICOS and UNICOS/mk + ../lib/Math/Trig.t 26 1 3.85% 25 + ../lib/warnings.t 470 1 0.21% 429 -The io/fs test #31 is failing because in UNICOS and UNICOS/mk the Perl -truncate() cannot be used to grow the size of filehandles, only to -reduce the size. The workaround is to truncate files instead of -filehandles. +The Trig.t failure is caused by the slighly differing (from IEEE) +floating point implementation of UNICOS. The warnings.t failure is +also related: the test assumes a certain floating point output format, +this assumption fails in UNICOS. =head2 UNICOS/mk @@ -2808,58 +2992,54 @@ needing further debugging and/or porting work. =head2 Win32 In multi-CPU boxes there are some problems with the I/O buffering: -some output may appear twice. The following Win32 failures are known -as of 5.7.3: - - Failed Test Stat Wstat Total Fail Failed List of Failed - ------------------------------------------------------------------------- - ..\ext/threads/t/end.t 6 4 66.67% 3-6 +some output may appear twice. =head2 XML::Parser not working Use XML::Parser 2.31 or later. -=head2 Localising a Tied Variable Leaks Memory - - use Tie::Hash; - tie my %tie_hash => 'Tie::StdHash'; - - ... - - local($tie_hash{Foo}) = 1; # leaks - -Code like the above is known to leak memory every time the local() -is executed. - =head2 z/OS (OS/390) z/OS has rather many test failures but the situation is actually better than it was in 5.6.0, it's just that so many new modules and tests have been added. - Failed Test Stat Wstat Total Fail Failed List of Failed - ------------------------------------------------------------------------- - ../ext/Data/Dumper/t/dumper.t 321 2 0.62% 311 314 + Failed Test Stat Wstat Total Fail Failed List of Failed + --------------------------------------------------------------------------- + ../ext/Data/Dumper/t/dumper.t 357 8 2.24% 311 314 325 327 + 331 333 337 339 ../ext/IO/lib/IO/t/io_unix.t 5 4 80.00% 2-5 - ../lib/utf8.t 94 13 13.83% 27 30-31 43 46 73 - 76 79 82 85 88 91 - 94 - ../lib/Benchmark.t 1 256 159 1 0.63% 75 - ../lib/ExtUtils/t/Constant.t 27 19 70.37% 5-23 + ../ext/Storable/t/downgrade.t 12 3072 169 12 7.10% 14-15 46-47 78-79 + 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 864 9 1.04% 242-243 665 776 - 785 832-834 845 + 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 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; -doesn't work as one would expect: the old value is restored -incorrectly. +doesn't work as one would expect: the old value is restored incorrectly. +This will be fixed in a future release, but note that doing so will break +existing code that relies on the broken semantics. It is important +that you check and alter any such code now. In the future release, +localising a tied array or hash will convert that variable into a new, +empty, and B array or hash. At the end of the block, the variable +will be repointed at the original tied thingy. Note that no tied methods +will be called at any point during this process. (With the existing +behaviour, the variable remains tied while localised.) =head2 Self-tying of Arrays and Hashes Is Forbidden @@ -2889,9 +3069,9 @@ platform-dependent. 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 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. @@ -2915,6 +3095,11 @@ because it was felt that it didn't have enough value in it to be a 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