Holger Bechtold
Horst von Brand <vonbrand@sleipnir.valparaiso.cl>
Hubert Feyrer <hubert.feyrer@informatik.fh-regensburg.de>
-Hugo van der Sanden <hv@crypt0.demon.co.uk>
+Hugo van der Sanden <hv@crypt.org>
Hunter Kelly <retnuh@zule.pixar.com>
Huw Rogers <count0@gremlin.straylight.co.jp>
I. N. Golubev <gin@mo.msk.ru>
Inaba Hiroto <inaba@st.rim.or.jp>
Indy Singh <indy@nusphere.com>
Irving Reid <irving@tor.securecomputing.com>
+Ivan Kurmanov <kurmanov@openlib.org>
J. David Blackstone <jdb@dfwnet.sbms.sbc.com>
J. van Krieken <John.van.Krieken@ATComputing.nl>
Jack Shirazi <JackS@GemStone.com>
Radu Greab <radu@netsoft.ro>
Rafael Garcia-Suarez <rgarciasuarez@free.fr>
Rainer Keuchel <keuchel@allgeier.com>
+Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
Rajesh Vaidheeswarran <rv@gnu.org>
Ralf S. Engelschall <rse@engelschall.com>
Randal L. Schwartz <merlyn@stonehenge.com>
Vishal Bhatia <vishal@deja.com>
Vlad Harchev <hvv@hippo.ru>
Vladimir Alexiev <vladimir@cs.ualberta.ca>
+W.BRISCOE@ponl.com
W. Phillip Moore <wpm@ms.com>
Walt Mankowski <waltman@netaxs.com>
+Walter Briscoe <w.briscoe@ponl.com>
Warren Hyde <whyde@pezz.sps.mot.com>
Warren Jones <wjones@tc.fluke.com>
Wayne Berke <berke@panix.com>
Version v5.7.X Development release working toward v5.8
--------------
____________________________________________________________________________
+[ 17596] By: jhi on 2002/07/17 12:46:20
+ Log: Ivan Kurmanov pointed out that the whole "use utf8"
+ semantics change was missing from Incompatible Changes.
+ Ooops. (Also tweaked the announcement.)
+ Branch: perl
+ ! pod/perldelta.pod
+____________________________________________________________________________
+[ 17595] By: jhi on 2002/07/17 12:35:07
+ Log: Doc deduplication by Ivan Kurmanov <kurmanov@openlib.org>.
+ Branch: perl
+ ! pod/perldelta.pod
+____________________________________________________________________________
+[ 17594] By: jhi on 2002/07/17 12:29:42
+ Log: Integrate perlio:
+
+ [ 17587]
+ Fix :scalar layer to allow it to exist under other layers.
+ Actual fix is just the if (!f) test before calling
+ PerlIO_allocate(). Rest of change is conforming to
+ standard indent.
+ Branch: perl
+ !> ext/PerlIO/scalar/scalar.xs
+____________________________________________________________________________
+[ 17593] By: jhi on 2002/07/17 12:25:39
+ Log: Also the NetWare breakage was due to #17270, go figure.
+ Branch: perl
+ ! sv.c
+____________________________________________________________________________
+[ 17592] By: jhi on 2002/07/17 12:21:07
+ Log: Subject: patch against perldebug.pod
+ From: Jim Cromie <jcromie@divsol.com>
+ Date: Wed, 17 Jul 2002 08:48:38 -0400
+ Message-ID: <3D3567A6.5070404@divsol.com>
+ Branch: perl
+ ! pod/perldebug.pod
+____________________________________________________________________________
+[ 17591] By: jhi on 2002/07/17 12:18:24
+ Log: Subject: [PATCH] Encode::FB_QUIET
+ From: Tatsuhiko Miyagawa <miyagawa@edge.co.jp>
+ Date: Wed, 17 Jul 2002 18:25:01 +0900
+ Message-ID: <86adoq4sgi.wl@mail.edge.co.jp>
+ Branch: perl
+ ! ext/Encode/Encode.pm
+____________________________________________________________________________
+[ 17590] By: jhi on 2002/07/17 12:14:21
+ Log: Cygwin is at 1.3.12.
+ Branch: perl
+ ! README.cygwin
+____________________________________________________________________________
+[ 17589] By: pudge on 2002/07/17 11:28:37
+ Log: Config/Makefile/test updates
+ Branch: macperl
+ ! macos/MacPerlTests.cmd macos/Makefile.mk macos/config.sh
+ ! macos/macperl/Makefile.mk
+____________________________________________________________________________
+[ 17588] By: pudge on 2002/07/17 11:28:02
+ Log: Small test fixes for Mac OS
+
+ $Config{cc} is generated dynamically on MacPerl,
+ so looking at raw config_sh() fails
+
+ op/glob.t never worked before, oops :-)
+ Branch: macperl
+ ! lib/Config.t t/op/glob.t
+____________________________________________________________________________
+[ 17587] By: nick on 2002/07/17 06:33:58
+ Log: Fix :scalar layer to allow it to exist under other layers.
+ Actual fix is just the if (!f) test before calling
+ PerlIO_allocate(). Rest of change is conforming to
+ standard indent.
+ Branch: perlio
+ ! ext/PerlIO/scalar/scalar.xs
+____________________________________________________________________________
+[ 17586] By: nick on 2002/07/17 06:32:10
+ Log: Integrate mainline
+ Branch: perlio
+ !> ext/Encode/encoding.pm hints/mpeix.sh lib/Net/Ping.pm
+ !> lib/Net/Ping/Changes lib/Net/Ping/README
+ !> lib/Net/Ping/t/200_ping_tcp.t mpeix/nm sv.c
+____________________________________________________________________________
+[ 17585] By: pudge on 2002/07/17 04:09:40
+ Log: Integrate perl
+ Branch: macperl
+ !> (integrate 53 files)
+____________________________________________________________________________
+[ 17584] By: jhi on 2002/07/17 03:11:53
+ Log: Upgrade to Net::Ping 2.20.
+ Branch: perl
+ ! lib/Net/Ping.pm lib/Net/Ping/Changes lib/Net/Ping/README
+ ! lib/Net/Ping/t/200_ping_tcp.t
+____________________________________________________________________________
+[ 17583] By: jhi on 2002/07/16 21:14:36
+ Log: DJGPP was broken by #17270. Because of the time crunch
+ we may not have time to investigate how that is possible,
+ since the #17270 was trying to protect against illegal
+ memory accesses... (the breakage of the DJGPP build was
+ manifested by configpm eating up all the available memory)
+ Branch: perl
+ ! sv.c
+____________________________________________________________________________
+[ 17582] By: jhi on 2002/07/16 20:18:32
+ Log: MPE/iX fixes from Mark Bixby.
+ Branch: perl
+ ! hints/mpeix.sh mpeix/nm
+____________________________________________________________________________
+[ 17581] By: rgs on 2002/07/16 19:49:16
+ Log: Remove bad advice : -M doesn't work on the #! line
+ Branch: perl
+ ! ext/Encode/encoding.pm
+____________________________________________________________________________
+[ 17580] By: nick on 2002/07/16 19:41:34
+ Log: Integrate mainline (what a lot of change during freeze!)
+ Branch: perlio
+ !> (integrate 41 files)
+____________________________________________________________________________
+[ 17579] By: jhi on 2002/07/16 18:13:50
+ Log: With very high probability this 8-space wants to be a 1-tab.
+ Branch: perl
+ ! lib/ExtUtils/MM_NW5.pm
+____________________________________________________________________________
+[ 17578] By: jhi on 2002/07/16 17:56:17
+ Log: Remove the extra warning since after it the right thing
+ is attempted (and that gives a warning if necessary).
+ Branch: perl
+ ! x2p/s2p.PL
+____________________________________________________________________________
+[ 17577] By: jhi on 2002/07/16 17:53:47
+ Log: Subject: [ID 20020716.001] RC3 pp_sys.c #ifdef usage wrong
+ From: W.BRISCOE@ponl.com
+ Date: Tue, 16 Jul 2002 08:24:00 +0100
+ Message-Id: <NXfa4c15-42476076@eur.ponl.com>
+ Branch: perl
+ ! pp_sys.c
+____________________________________________________________________________
+[ 17576] By: jhi on 2002/07/16 13:58:32
+ Log: Subject: sprintf: fix and docs
+ From: Hugo van der Sanden <hv@crypt.compulink.co.uk>
+ Date: Tue, 16 Jul 2002 16:01:12 +0100
+ Message-Id: <200207161501.g6GF1CN00635@crypt.compulink.co.uk>
+ Branch: perl
+ ! pod/perlfunc.pod sv.c
+____________________________________________________________________________
+[ 17575] By: jhi on 2002/07/16 13:47:11
+ Log: Regen toc.
+ Branch: perl
+ ! pod/perltoc.pod
+____________________________________________________________________________
+[ 17574] By: jhi on 2002/07/16 13:30:22
+ Log: Update Changes.
+ Branch: perl
+ ! Changes patchlevel.h
+____________________________________________________________________________
[ 17573] By: jhi on 2002/07/16 13:14:34
Log: Mac OS X dyld problem: try more direct action first.
Branch: perl
A recent net or commercial release of Cygwin is required.
-At the time this document was last updated, Cygwin 1.3.10 was current.
+At the time this document was last updated, Cygwin 1.3.12 was current.
=head2 Cygwin Configuration
while(defined(read $fh, $buffer, 256)){
# buffer may end in a partial character so we append
$data .= $buffer;
- $utf8 .= decode($encoding, $data, ENCODE::FB_QUIET);
+ $utf8 .= decode($encoding, $data, Encode::FB_QUIET);
# $data now contains the unprocessed partial character
}
like(Config::myconfig(), qr/cc='$Config{cc}'/, "myconfig");
-like(Config::config_sh(), qr/cc='$Config{cc}'/, "config_sh");
+SKIP: {
+ skip "cc is tied in $^O", 1 if $^O eq 'MacOS';
+ like(Config::config_sh(), qr/cc='$Config{cc}'/, "config_sh");
+}
my $out = tie *STDOUT, 'FakeOut';
#if !defined(PERL_PATCHLEVEL_H_IMPLICIT) && !defined(LOCAL_PATCH_COUNT)
static char *local_patches[] = {
NULL
- ,"DEVEL17573"
+ ,"DEVEL17596"
,NULL
};
=item x [maxdepth] expr
-Evaluates its expression in list context and dumps out the result
-in a pretty-printed fashion. Nested data structures are printed out
-recursively, unlike the real C<print> function in Perl.
+Evaluates its expression in list context and dumps out the result in a
+pretty-printed fashion. Nested data structures are printed out
+recursively, unlike the real C<print> function in Perl. When dumping
+hashes, you'll probably prefer 'x \%h' rather than 'x %h'.
See L<Dumpvalue> if you'd like to do this yourself.
The output format is governed by multiple options described under
with external libraries or existing data. G_FLOAT is still available as
a configuration option. The default on VAX (D_FLOAT) has not changed.
+=head2 New Unicode Semantics (no more C<use utf8>)
+
+Previously in Perl 5.6 to use Unicode one would say "use utf8" and
+then the operations (like string concatenation) were Unicode-aware
+in that lexical scope.
+
+This was found to be an inconvenient interface, and in Perl 5.8 the
+Unicode model has completely changed: now the "Unicodeness" is bound
+to the data itself, and for most of the time "use utf8" is not needed
+at all. The only remaining use of "use utf8" is when the Perl script
+itself has been written in the UTF-8 encoding of Unicode.
+
+See L<perluniintro> for the explanation of the current model,
+and L<utf8> for the current use of the utf8 pragma.
+
=head2 New Unicode Properties
Unicode I<scripts> are now supported. Scripts are similar to (and superior
That is a literal undef, not an undefined value.
-=item *
-
-The list form of C<open> is now implemented for pipes (at least on UNIX):
-
- open($fh,"-|", 'cat', '/etc/motd')
-
-creates a pipe, and runs the equivalent of exec('cat', '/etc/motd') in
-the child process.
-
-=item *
-
-If your locale environment variables (LANGUAGE, LC_ALL, LC_CTYPE, LANG)
-contain the strings 'UTF-8' or 'UTF8' (case-insensitive matching),
-the default encoding of your STDIN, STDOUT, and STDERR, and of
-B<any subsequent file open>, is UTF-8.
-
=back
=head2 ithreads
NDBM_File fails and ODBM_File just coredumps.
-=head2 DJGPP does not build
-
-Unfortunately DJGPP build broke somewhere after 5.7.3.
-
=head2 FreeBSD built with ithreads coredumps reading large directories
This is a known bug in FreeBSD 4.5's readdir_r(), it has been fixed in
BeOS
Cygwin
DG/UX
+ DOS DJGPP 1)
DYNIX/ptx
EPOC R5
FreeBSD
UNICOS/mk
UTS
VOS
- Win95/98/ME/2K/XP 1)
+ Win95/98/ME/2K/XP 2)
WinCE
z/OS (OS/390)
VM/ESA
- 1) compilers: Borland, MinGW (GCC), VC6
+ 1) in DOS mode either the DOS or OS/2 ports can be used
+ 2) compilers: Borland, MinGW (GCC), VC6
The following platforms worked with the previous releases (5.6 and
5.7), but we did not manage either to fix or to test these in time
AmigaOS
-Known to be broken for 5.8.0 (but 5.6.1 and 5.7.3 can be used):
-
- DOS DJGPP 1)
-
- 1) in DOS mode either the DOS or OS/2 ports can be used
-
The following platforms have been known to build Perl from source in
the past (5.005_03 and earlier), but we haven't been able to verify
their status for the current release, either because the
SOCKET1,SOCKET2,DOMAIN,TYPE,PROTOCOL, sort SUBNAME LIST, sort BLOCK LIST,
sort LIST, splice ARRAY,OFFSET,LENGTH,LIST, splice ARRAY,OFFSET,LENGTH,
splice ARRAY,OFFSET, splice ARRAY, split /PATTERN/,EXPR,LIMIT, split
-/PATTERN/,EXPR, split /PATTERN/, split, sprintf FORMAT, LIST, sqrt EXPR,
-sqrt, srand EXPR, srand, stat FILEHANDLE, stat EXPR, stat, study SCALAR,
-study, sub NAME BLOCK, sub NAME (PROTO) BLOCK, sub NAME : ATTRS BLOCK, sub
-NAME (PROTO) : ATTRS BLOCK, substr EXPR,OFFSET,LENGTH,REPLACEMENT, substr
-EXPR,OFFSET,LENGTH, substr EXPR,OFFSET, symlink OLDFILE,NEWFILE, syscall
-LIST, sysopen FILEHANDLE,FILENAME,MODE, sysopen
-FILEHANDLE,FILENAME,MODE,PERMS, sysread FILEHANDLE,SCALAR,LENGTH,OFFSET,
-sysread FILEHANDLE,SCALAR,LENGTH, sysseek FILEHANDLE,POSITION,WHENCE,
-system LIST, system PROGRAM LIST, syswrite FILEHANDLE,SCALAR,LENGTH,OFFSET,
-syswrite FILEHANDLE,SCALAR,LENGTH, syswrite FILEHANDLE,SCALAR, tell
-FILEHANDLE, tell, telldir DIRHANDLE, tie VARIABLE,CLASSNAME,LIST, tied
-VARIABLE, time, times, tr///, truncate FILEHANDLE,LENGTH, truncate
-EXPR,LENGTH, uc EXPR, uc, ucfirst EXPR, ucfirst, umask EXPR, umask, undef
-EXPR, undef, unlink LIST, unlink, unpack TEMPLATE,EXPR, untie VARIABLE,
-unshift ARRAY,LIST, use Module VERSION LIST, use Module VERSION, use Module
-LIST, use Module, use VERSION, utime LIST, values HASH, vec
-EXPR,OFFSET,BITS, wait, waitpid PID,FLAGS, wantarray, warn LIST, write
-FILEHANDLE, write EXPR, write, y///
+/PATTERN/,EXPR, split /PATTERN/, split, sprintf FORMAT, LIST, format
+parameter index, flags, vector flag, (minimum) width, precision, or maximum
+width, size, sqrt EXPR, sqrt, srand EXPR, srand, stat FILEHANDLE, stat
+EXPR, stat, study SCALAR, study, sub NAME BLOCK, sub NAME (PROTO) BLOCK,
+sub NAME : ATTRS BLOCK, sub NAME (PROTO) : ATTRS BLOCK, substr
+EXPR,OFFSET,LENGTH,REPLACEMENT, substr EXPR,OFFSET,LENGTH, substr
+EXPR,OFFSET, symlink OLDFILE,NEWFILE, syscall LIST, sysopen
+FILEHANDLE,FILENAME,MODE, sysopen FILEHANDLE,FILENAME,MODE,PERMS, sysread
+FILEHANDLE,SCALAR,LENGTH,OFFSET, sysread FILEHANDLE,SCALAR,LENGTH, sysseek
+FILEHANDLE,POSITION,WHENCE, system LIST, system PROGRAM LIST, syswrite
+FILEHANDLE,SCALAR,LENGTH,OFFSET, syswrite FILEHANDLE,SCALAR,LENGTH,
+syswrite FILEHANDLE,SCALAR, tell FILEHANDLE, tell, telldir DIRHANDLE, tie
+VARIABLE,CLASSNAME,LIST, tied VARIABLE, time, times, tr///, truncate
+FILEHANDLE,LENGTH, truncate EXPR,LENGTH, uc EXPR, uc, ucfirst EXPR,
+ucfirst, umask EXPR, umask, undef EXPR, undef, unlink LIST, unlink, unpack
+TEMPLATE,EXPR, untie VARIABLE, unshift ARRAY,LIST, use Module VERSION LIST,
+use Module VERSION, use Module LIST, use Module, use VERSION, utime LIST,
+values HASH, vec EXPR,OFFSET,BITS, wait, waitpid PID,FLAGS, wantarray, warn
+LIST, write FILEHANDLE, write EXPR, write, y///
=back
=item IEEE-format Floating Point Default on OpenVMS Alpha
+=item New Unicode Semantics (no more C<use utf8>)
+
=item New Unicode Properties
=item REF(...) Instead Of SCALAR(...)
=item Functions
-Net::Ping->new([$proto [, $def_timeout [, $bytes]]]);, $p->source_verify( {
-0 | 1 } );, $p->hires( { 0 | 1 } );, $p->bind($local_addr);, $p->ping($host
-[, $timeout]);, $p->open($host);, $p->close();, pingecho($host [,
+Net::Ping->new([$proto [, $def_timeout [, $bytes]]]);, $p->ping($host [,
+$timeout]);, $p->source_verify( { 0 | 1 } );, $p->hires( { 0 | 1 } );,
+$p->bind($local_addr);, $p->open($host);, $p->close();, pingecho($host [,
$timeout]);
=back
=item NOTES
+=item INSTALL
+
=item AUTHORS
=item COPYRIGHT
/* Accomodate broken VAXC compiler, which applies U8 cast to
* both args of ?: operator, causing EOF to change into 255
*/
-#ifdef DJGPP /* This is basically undoing #17270 for DJGPP. See below. */
- if (cnt)
-#else
if (cnt > 0)
-#endif
- {
- i = (U8)buf[cnt - 1];
- }
- else {
+ i = (U8)buf[cnt - 1];
+ else
i = EOF;
- }
}
-#ifndef DJGPP /* This is basically undoing #17270 for DJGPP. See above.*/
- if (cnt > 0)
-#endif
- {
- if (append)
- sv_catpvn(sv, (char *) buf, cnt);
- else
- sv_setpvn(sv, (char *) buf, cnt);
- }
+ if (cnt < 0)
+ cnt = 0; /* we do need to re-set the sv even when cnt <= 0 */
+ if (append)
+ sv_catpvn(sv, (char *) buf, cnt);
+ else
+ sv_setpvn(sv, (char *) buf, cnt);
if (i != EOF && /* joy */
(!rslen ||
map { $files{lc($_)}++ } <[.op]*>;
map { s/;.*$//; delete $files{lc($_)}; } split /[\n]/, `directory/noheading/notrailing/versions=1 [.op]`,
}
+elsif ($^O eq 'MacOS') {
+ @oops = @ops = <:op:*>;
+ map { $files{$_}++ } <:op:*>;
+ map { delete $files{$_} } split /[\s\n]/, `echo :op:\xc5`;
+}
else {
map { $files{$_}++ } <op/*>;
map { delete $files{$_} } split /[\s\n]/, `echo op/*`;
print $/ eq "\n" ? "ok 2\n" : "not ok 2\n";
-while (<jskdfjskdfj* op/* jskdjfjkosvk*>) {
- $not = "not " unless $_ eq shift @ops;
- $not = "not at all " if $/ eq "\0";
+if ($^O eq 'MacOS') {
+ while (<jskdfjskdfj* :op:* jskdjfjkosvk*>) {
+ $not = "not " unless $_ eq shift @ops;
+ $not = "not at all " if $/ eq "\0";
+ }
+} else {
+ while (<jskdfjskdfj* op/* jskdjfjkosvk*>) {
+ $not = "not " unless $_ eq shift @ops;
+ $not = "not at all " if $/ eq "\0";
+ }
}
print "${not}ok 3\n";
print $/ eq "\n" ? "ok 4\n" : "not ok 4\n";
# test the "glob" operator
-$_ = "op/*";
+$_ = $^O eq 'MacOS' ? ":op:*" : "op/*";
@glops = glob $_;
print "@glops" eq "@oops" ? "ok 5\n" : "not ok 5\n";
(E<lt>tchrist@perl.comE<gt>), Nathan Torkington (E<lt>gnat@frii.comE<gt>),
Charles F. Randall (E<lt>cfr@pobox.comE<gt>), Mike Guy
(E<lt>mjtg@cam.a.ukE<gt>), Dominic Dunlop (E<lt>domo@computer.orgE<gt>),
-Hugo van der Sanden (E<lt>hv@crypt0.demon.co.ukE<gt>),
+Hugo van der Sanden (E<lt>hv@crypt.org<gt>),
Jarkko Hietaniemi (E<lt>jhi@iki.fiE<gt>), Chris Nandor
(E<lt>pudge@pobox.comE<gt>), Jon Orwant (E<lt>orwant@media.mit.eduE<gt>,
and Richard Foley (E<lt>richard@rfi.netE<gt>).