=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
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>.
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 *
-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 *
=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