This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
Upgrade Module-Metadata to 1.000011
[perl5.git] / pod / perl58delta.pod
index f66c126..9777b55 100644 (file)
@@ -1,6 +1,6 @@
 =head1 NAME
 
 =head1 NAME
 
-perldelta - what is new for perl v5.8.0
+perl58delta - what is new for perl v5.8.0
 
 =head1 DESCRIPTION
 
 
 =head1 DESCRIPTION
 
@@ -179,7 +179,7 @@ to be aliases for d/f, but you never knew that.)
 
 The list of filenames from glob() (or <...>) is now by default sorted
 alphabetically to be csh-compliant (which is what happened before
 
 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
+in most Unix platforms).  (bsd_glob() does still sort platform
 natively, ASCII or EBCDIC, unless GLOB_ALPHASORT is specified.) [561]
 
 =head2 Deprecations
 natively, ASCII or EBCDIC, unless GLOB_ALPHASORT is specified.) [561]
 
 =head2 Deprecations
@@ -381,7 +381,7 @@ The built-in layers are: unix (low level read/write), stdio (as in
 previous Perls), perlio (re-implementation of stdio buffering in a
 portable manner), crlf (does CRLF <=> "\n" translation as on Win32,
 but available on any platform).  A mmap layer may be available if
 previous Perls), perlio (re-implementation of stdio buffering in a
 portable manner), crlf (does CRLF <=> "\n" translation as on Win32,
 but available on any platform).  A mmap layer may be available if
-platform supports it (mostly UNIXes).
+platform supports it (mostly Unixes).
 
 Layers to be applied by default may be specified via the 'open' pragma.
 
 
 Layers to be applied by default may be specified via the 'open' pragma.
 
@@ -415,12 +415,12 @@ for more information about UTF-8.
 
 =item *
 
 
 =item *
 
-If your environment variables (LC_ALL, LC_CTYPE, LANG, LANGUAGE) look
-like you want to use UTF-8 (any of the the variables match C</utf-?8/i>),
-your STDIN, STDOUT, STDERR handles and the default open layer
-(see L<open>) are marked as UTF-8.  (This feature, like other new
-features that combine Unicode and I/O, work only if you are using
-PerlIO, but that's the default.)
+If your environment variables (LC_ALL, LC_CTYPE, LANG) look like you
+want to use UTF-8 (any of the variables match C</utf-?8/i>), your
+STDIN, STDOUT, STDERR handles and the default open layer (see L<open>)
+are marked as UTF-8.  (This feature, like other new features that
+combine Unicode and I/O, work only if you are using PerlIO, but that's
+the default.)
 
 Note that after this Perl really does assume that everything is UTF-8:
 for example if some input handle is not, Perl will probably very soon
 
 Note that after this Perl really does assume that everything is UTF-8:
 for example if some input handle is not, Perl will probably very soon
@@ -532,7 +532,7 @@ already.  The fatal error has been downgraded to an optional warning:
 
 This warns you that C<"fred@example.com"> is going to turn into
 C<fred.com> if you don't backslash the C<@>.
 
 This warns you that C<"fred@example.com"> is going to turn into
 C<fred.com> if you don't backslash the C<@>.
-See http://www.plover.com/~mjd/perl/at-error.html for more details
+See http://perl.plover.com/at-error.html for more details
 about the history here.
 
 =head2 Miscellaneous Changes
 about the history here.
 
 =head2 Miscellaneous Changes
@@ -664,7 +664,7 @@ The template letters are C<j>, C<J>, C<F>, and C<D>.
 
 =item *
 
 
 =item *
 
-C<pack('U0a*', ...)> can now be used to force a string to UTF8.
+C<pack('U0a*', ...)> can now be used to force a string to UTF-8.
 
 =item *
 
 
 =item *
 
@@ -678,10 +678,10 @@ returns the number of slept seconds.
 
 =item *
 
 
 =item *
 
-The printf() and sprintf() now support parameter reordering using the
+printf() and sprintf() now support parameter reordering using the
 C<%\d+\$> and C<*\d+\$> syntaxes.  For example
 
 C<%\d+\$> and C<*\d+\$> syntaxes.  For example
 
-    print "%2\$s %1\$s\n", "foo", "bar";
+    printf "%2\$s %1\$s\n", "foo", "bar";
 
 will print "bar foo\n".  This feature helps in writing
 internationalised software, and in general when the order
 
 will print "bar foo\n".  This feature helps in writing
 internationalised software, and in general when the order
@@ -730,7 +730,7 @@ for details. [561]
 
 =item *
 
 
 =item *
 
-L<utime> now supports C<utime undef, undef, @files> to change the
+L<perlfunc/utime> now supports C<utime undef, undef, @files> to change the
 file timestamps to the current time.
 
 =item *
 file timestamps to the current time.
 
 =item *
@@ -1012,10 +1012,11 @@ in quoted-printable encoding, as defined in RFC 2045 - I<MIME
 
     use MIME::QuotedPrint;
 
 
     use MIME::QuotedPrint;
 
-    $encoded = encode_qp("Smiley in Unicode: \x{263a}");
+    $encoded = encode_qp("\xDE\xAD\xBE\xEF");
     $decoded = decode_qp($encoded);
 
     $decoded = decode_qp($encoded);
 
-    print $encoded, "\n"; # "Smiley in Unicode: =263A"
+    print $encoded, "\n"; # "=DE=AD=BE=EF\n"
+    print $decoded, "\n"; # "\xDE\xAD\xBE\xEF\n"
 
 See also L<PerlIO::via::QuotedPrint>.
 
 
 See also L<PerlIO::via::QuotedPrint>.
 
@@ -1504,7 +1505,7 @@ perl.org, not perl.com.
 =item *
 
 C<perlcc> has been rewritten and its user interface (that is,
 =item *
 
 C<perlcc> has been rewritten and its user interface (that is,
-command line) is much more like that of the UNIX C compiler, cc.
+command line) is much more like that of the Unix C compiler, cc.
 (The perlbc tools has been removed.  Use C<perlcc -B> instead.)
 B<Note that perlcc is still considered very experimental and
 unsupported.> [561]
 (The perlbc tools has been removed.  Use C<perlcc -B> instead.)
 B<Note that perlcc is still considered very experimental and
 unsupported.> [561]
@@ -1530,7 +1531,7 @@ C<pod2html> now produces XHTML 1.0.
 =item *
 
 C<pod2html> now understands POD written using different line endings
 =item *
 
 C<pod2html> now understands POD written using different line endings
-(PC-like CRLF versus UNIX-like LF versus MacClassic-like CR).
+(PC-like CRLF versus Unix-like LF versus MacClassic-like CR).
 
 =item *
 
 
 =item *
 
@@ -1904,17 +1905,17 @@ for site-wide changes).
 If your file system supports symbolic links, you can build Perl outside
 of the source directory by
 
 If your file system supports symbolic links, you can build Perl outside
 of the source directory by
 
-       mkdir /tmp/perl/build/directory
-       cd /tmp/perl/build/directory
+       mkdir perl/build/directory
+       cd perl/build/directory
        sh /path/to/perl/source/Configure -Dmksymlinks ...
 
        sh /path/to/perl/source/Configure -Dmksymlinks ...
 
-This will create in /tmp/perl/build/directory a tree of symbolic links
+This will create in perl/build/directory a tree of symbolic links
 pointing to files in /path/to/perl/source.  The original files are left
 unaffected.  After Configure has finished, you can just say
 
        make all test
 
 pointing to files in /path/to/perl/source.  The original files are left
 unaffected.  After Configure has finished, you can just say
 
        make all test
 
-and Perl will be built and tested, all in /tmp/perl/build/directory.
+and Perl will be built and tested, all in perl/build/directory.
 [561]
 
 =item *
 [561]
 
 =item *
@@ -2082,7 +2083,7 @@ available.  See L<perlvos>. [561+]
 
 =item *
 
 
 =item *
 
-The Amdahl UTS UNIX mainframe platform is now supported. [561]
+The Amdahl UTS Unix mainframe platform is now supported. [561]
 
 =item *
 
 
 =item *
 
@@ -2474,7 +2475,7 @@ C<IsAlnum>, C<IsAlpha>, and C<IsWord> now match titlecase.
 
 Concatenation with the C<.> operator or via variable interpolation,
 C<eq>, C<substr>, C<reverse>, C<quotemeta>, the C<x> operator,
 
 Concatenation with the C<.> operator or via variable interpolation,
 C<eq>, C<substr>, C<reverse>, C<quotemeta>, the C<x> operator,
-substitution with C<s///>, single-quoted UTF8, should now work.
+substitution with C<s///>, single-quoted UTF-8, should now work.
 
 =item *
 
 
 =item *
 
@@ -2903,11 +2904,11 @@ Using negative offset for vec() in lvalue context is now a warnable offense.
 
 =item *
 
 
 =item *
 
-Odd number of arguments to oveload::constant now elicits a warning.
+Odd number of arguments to overload::constant now elicits a warning.
 
 =item *
 
 
 =item *
 
-Odd number of elements to in anonymous hash now elicits a warning.
+Odd number of elements in anonymous hash now elicits a warning.
 
 =item *
 
 
 =item *
 
@@ -2928,7 +2929,7 @@ is made, a warning is given.
 =item *
 
 C<push @a;> and C<unshift @a;> (with no values to push or unshift)
 =item *
 
 C<push @a;> and C<unshift @a;> (with no values to push or unshift)
-now give a warning.  This may be a problem for generated and evaled
+now give a warning.  This may be a problem for generated and eval'ed
 code.
 
 =item *
 code.
 
 =item *
@@ -2991,7 +2992,7 @@ Using splice() past the end of an array now causes a warning.
 =item *
 
 Malformed Unicode encodings (UTF-8 and UTF-16) cause a lot of warnings,
 =item *
 
 Malformed Unicode encodings (UTF-8 and UTF-16) cause a lot of warnings,
-ad doestrying to use UTF-16 surrogates (which are unimplemented).
+as does trying to use UTF-16 surrogates (which are unimplemented).
 
 =item *
 
 
 =item *
 
@@ -3361,7 +3362,7 @@ use the bundled C compiler.)
 
 Perl 5.8.0 doesn't build in AmigaOS.  It broke at some point during
 the ithreads work and we could not find Amiga experts to unbreak the
 
 Perl 5.8.0 doesn't build in AmigaOS.  It broke at some point during
 the ithreads work and we could not find Amiga experts to unbreak the
-problems.  Perl 5.6.1 still works for AmigaOS (as does the the 5.7.2
+problems.  Perl 5.6.1 still works for AmigaOS (as does the 5.7.2
 development release).
 
 =head2 BeOS
 development release).
 
 =head2 BeOS
@@ -3400,6 +3401,10 @@ failures are expected:
 
 NDBM_File fails and ODBM_File just coredumps.
 
 
 NDBM_File fails and ODBM_File just coredumps.
 
+If you intend to run only on FAT (or if using AnyDBM_File on FAT),
+run Configure with the -Ui_ndbm and -Ui_dbm options to prevent
+NDBM_File and ODBM_File being built.
+
 =head2 DJGPP Failures
 
  t/op/stat............................FAILED at test 29
 =head2 DJGPP Failures
 
  t/op/stat............................FAILED at test 29
@@ -3540,6 +3545,12 @@ 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".)
 
 formatting 0.6 and -0.6 using the printf format "%.0f"; most often,
 they produce "0" and "-0".)
 
+=head2 SCO
+
+The socketpair tests are known to be unhappy in SCO 3.2v5.0.4:
+
+ ext/Socket/socketpair.t...............FAILED tests 15-45
+
 =head2 Solaris 2.5
 
 In case you are still using Solaris 2.5 (aka SunOS 5.5), you may
 =head2 Solaris 2.5
 
 In case you are still using Solaris 2.5 (aka SunOS 5.5), you may
@@ -3620,7 +3631,9 @@ return only three values, not four.
 
 =head2 UTS
 
 
 =head2 UTS
 
-There are a few known test failures, see L<perluts> (README.uts).
+There are a few known test failures.  (B<Note:> the relevant information was
+available in F<README.uts> until support for UTS was removed in Perl
+v5.18.0)
 
 =head2 VOS (Stratus)
 
 
 =head2 VOS (Stratus)
 
@@ -3690,7 +3703,7 @@ from the CPAN.
 Perl 5.8 unfortunately does not build anymore on AmigaOS; this broke
 accidentally at some point.  Since there are not that many Amiga
 developers available, we could not get this fixed and tested in time
 Perl 5.8 unfortunately does not build anymore on AmigaOS; this broke
 accidentally at some point.  Since there are not that many Amiga
 developers available, we could not get this fixed and tested in time
-for 5.8.0.  Perl 5.6.1 still works for AmigaOS (as does the the 5.7.2
+for 5.8.0.  Perl 5.6.1 still works for AmigaOS (as does the 5.7.2
 development release).
 
 The C<PerlIO::Scalar> and C<PerlIO::Via> (capitalised) were renamed as
 development release).
 
 The C<PerlIO::Scalar> and C<PerlIO::Via> (capitalised) were renamed as