=head1 NAME
-perldelta - what is new for perl v5.8.0
+perl58delta - what is new for perl v5.8.0
=head1 DESCRIPTION
=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
=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
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 *
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
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
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