=head1 NAME
-perldelta - what is new for perl v5.8.0
+perl58delta - what is new for perl v5.8.0
=head1 DESCRIPTION
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
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.
=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
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
=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 *
-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
=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 *
=item *
-In SDBM_File on dosish platforms, some keys went missing because of
+In SDBM_File on DOSish platforms, some keys went missing because of
lack of support for files with "holes". A workaround for the problem
has been added.
=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]
=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 *
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 *
have been regained. Many test suite tests still fail and the
co-existence of Unicode and EBCDIC isn't quite settled, but the
situation is much better than with Perl 5.6. See L<perlos390>,
-L<perlbs2000> (for POSIX-BC), and L<perlvmesa> for more information.
+L<perlbs2000> (for POSIX-BC), and perlvmesa for more information.
+(B<Note:> support for VM/ESA was removed in Perl v5.18.0. The relevant
+information was in F<README.vmesa>)
=item *
=item *
-The Amdahl UTS UNIX mainframe platform is now supported. [561]
+The Amdahl UTS Unix mainframe platform is now supported. [561]
=item *
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 *
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 *
=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 *
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
ext/POSIX/t/sigaction...............FAILED at test 13
ext/POSIX/t/waitpid.................FAILED at test 1
-See L<perlbeos> (README.beos) for more details.
+(B<Note:> more information was available in F<README.beos> until support for
+BeOS was removed in Perl v5.18.0)
=head2 Cygwin "unable to remap"
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
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 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)
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