This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
add OPpDEREFed flag to avoid double mg_get()
[perl5.git] / pod / perl58delta.pod
index f66c126..f3a8679 100644 (file)
@@ -1,6 +1,6 @@
 =head1 NAME
 
-perldelta - what is new for perl v5.8.0
+perl58delta - what is new for perl v5.8.0
 
 =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
-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
@@ -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
-platform supports it (mostly UNIXes).
+platform supports it (mostly Unixes).
 
 Layers to be applied by default may be specified via the 'open' pragma.
 
@@ -415,12 +415,12 @@ for more information about UTF-8.
 
 =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
@@ -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<@>.
-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
@@ -664,7 +664,7 @@ The template letters are C<j>, C<J>, C<F>, and C<D>.
 
 =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 *
 
@@ -678,10 +678,10 @@ returns the number of slept seconds.
 
 =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
 
-    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
@@ -1012,10 +1012,11 @@ in quoted-printable encoding, as defined in RFC 2045 - I<MIME
 
     use MIME::QuotedPrint;
 
-    $encoded = encode_qp("Smiley in Unicode: \x{263a}");
+    $encoded = encode_qp("\xDE\xAD\xBE\xEF");
     $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>.
 
@@ -1504,7 +1505,7 @@ perl.org, not perl.com.
 =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]
@@ -1530,7 +1531,7 @@ C<pod2html> now produces XHTML 1.0.
 =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 *
 
@@ -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
 
-       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 ...
 
-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
 
-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 *
@@ -2082,7 +2083,7 @@ available.  See L<perlvos>. [561+]
 
 =item *
 
-The Amdahl UTS UNIX mainframe platform is now supported. [561]
+The Amdahl UTS Unix mainframe platform is now supported. [561]
 
 =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,
-substitution with C<s///>, single-quoted UTF8, should now work.
+substitution with C<s///>, single-quoted UTF-8, should now work.
 
 =item *
 
@@ -2903,11 +2904,11 @@ Using negative offset for vec() in lvalue context is now a warnable offense.
 
 =item *
 
-Odd number of arguments to oveload::constant now elicits a warning.
+Odd number of arguments to overload::constant now elicits a warning.
 
 =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 *
 
@@ -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)
-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 *
@@ -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,
-ad doestrying to use UTF-16 surrogates (which are unimplemented).
+as does trying to use UTF-16 surrogates (which are unimplemented).
 
 =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
-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
@@ -3400,6 +3401,10 @@ failures are expected:
 
 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
@@ -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".)
 
+=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
@@ -3690,7 +3701,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
-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