1*0Sstevel@tonic-gate=head1 NAME 2*0Sstevel@tonic-gate 3*0Sstevel@tonic-gateperl573delta - what's new for perl v5.7.3 4*0Sstevel@tonic-gate 5*0Sstevel@tonic-gate=head1 DESCRIPTION 6*0Sstevel@tonic-gate 7*0Sstevel@tonic-gateThis document describes differences between the 5.7.2 release and the 8*0Sstevel@tonic-gate5.7.3 release. 9*0Sstevel@tonic-gate 10*0Sstevel@tonic-gate(To view the differences between the 5.6.0 release and the 5.7.0 11*0Sstevel@tonic-gaterelease, see L<perl570delta>. To view the differences between the 12*0Sstevel@tonic-gate5.7.0 release and the 5.7.1 release, see L<perl571delta>. To view 13*0Sstevel@tonic-gatethe differences between the 5.7.1 release and the 5.7.2 release, 14*0Sstevel@tonic-gatesee L<perl572delta>.) 15*0Sstevel@tonic-gate 16*0Sstevel@tonic-gate=head1 Changes 17*0Sstevel@tonic-gate 18*0Sstevel@tonic-gateThis is just a selected list of some of the more notable changes. 19*0Sstevel@tonic-gateThe numbers refer to the Perl repository change numbers; see 20*0Sstevel@tonic-gateL<Changes58> (or L<Changes> in Perl 5.8.1). In addition to these 21*0Sstevel@tonic-gatechanges, lots of work took place in integrating threads, PerlIO, and 22*0Sstevel@tonic-gateUnicode; general code cleanup; and last but not least porting to 23*0Sstevel@tonic-gatenon-UNIX lands such as Win32, VMS, Cygwin, DJGPP, VOS, MacOS Classic, 24*0Sstevel@tonic-gateand EBCDIC. 25*0Sstevel@tonic-gate 26*0Sstevel@tonic-gate=over 4 27*0Sstevel@tonic-gate 28*0Sstevel@tonic-gate=item 11362 29*0Sstevel@tonic-gate 30*0Sstevel@tonic-gateadd LC_MESSAGES to POSIX :locale_h export tag 31*0Sstevel@tonic-gate 32*0Sstevel@tonic-gate=item 11371 33*0Sstevel@tonic-gate 34*0Sstevel@tonic-gateadd DEL to [:cntrl:] 35*0Sstevel@tonic-gate 36*0Sstevel@tonic-gate=item 11375 37*0Sstevel@tonic-gate 38*0Sstevel@tonic-gatemake h2ph understand constants like 1234L and 5678LL 39*0Sstevel@tonic-gate 40*0Sstevel@tonic-gate=item 11405 41*0Sstevel@tonic-gate 42*0Sstevel@tonic-gateWin32: fix bugs in handling of the virtualized environment 43*0Sstevel@tonic-gate 44*0Sstevel@tonic-gate=item 11410 45*0Sstevel@tonic-gate 46*0Sstevel@tonic-gatefix a bug in the security taint checking of open() 47*0Sstevel@tonic-gate 48*0Sstevel@tonic-gate=item 11423 49*0Sstevel@tonic-gate 50*0Sstevel@tonic-gatemake perl fork() safe even on platforms that don't have pthread_atfork() 51*0Sstevel@tonic-gate 52*0Sstevel@tonic-gate=item 11459 53*0Sstevel@tonic-gate 54*0Sstevel@tonic-gatemake switching optimization and debugging levels during Perl builds 55*0Sstevel@tonic-gateeasier via the OPTIMIZE environment variable 56*0Sstevel@tonic-gate 57*0Sstevel@tonic-gate=item 11475 58*0Sstevel@tonic-gate 59*0Sstevel@tonic-gatemake split()'s unused captures to be undef, not '' 60*0Sstevel@tonic-gate 61*0Sstevel@tonic-gate=item 11485 62*0Sstevel@tonic-gate 63*0Sstevel@tonic-gateSearch::Dict: allow transforming lines before comparing 64*0Sstevel@tonic-gate 65*0Sstevel@tonic-gate=item 11490 66*0Sstevel@tonic-gate 67*0Sstevel@tonic-gateallow installing extra modules or bundles when building Perl 68*0Sstevel@tonic-gate 69*0Sstevel@tonic-gate=item 11516 70*0Sstevel@tonic-gate 71*0Sstevel@tonic-gateadd -Wall in cflags when compiling with gcc to weed out dubious 72*0Sstevel@tonic-gateC practices 73*0Sstevel@tonic-gate 74*0Sstevel@tonic-gate=item 11541 75*0Sstevel@tonic-gate 76*0Sstevel@tonic-gatepluggable optimizer 77*0Sstevel@tonic-gate 78*0Sstevel@tonic-gate=item 11549 79*0Sstevel@tonic-gate 80*0Sstevel@tonic-gateWinCE: integrate the port 81*0Sstevel@tonic-gate 82*0Sstevel@tonic-gate=item 11589 83*0Sstevel@tonic-gate 84*0Sstevel@tonic-gateWin32: 4-arg select was broken 85*0Sstevel@tonic-gate 86*0Sstevel@tonic-gate=item 11594 87*0Sstevel@tonic-gate 88*0Sstevel@tonic-gateintroduce the perlivp utility for verifying the Perl installation 89*0Sstevel@tonic-gate(IVP = Installation Verification Procedure) 90*0Sstevel@tonic-gate 91*0Sstevel@tonic-gate=item 11623 92*0Sstevel@tonic-gate 93*0Sstevel@tonic-gaterename lib/unicode to lib/unicore to avoid case-insensitivity problems 94*0Sstevel@tonic-gatewith lib/Unicode 95*0Sstevel@tonic-gate 96*0Sstevel@tonic-gate=item 111631 97*0Sstevel@tonic-gate 98*0Sstevel@tonic-gateremove Time::Piece 99*0Sstevel@tonic-gate 100*0Sstevel@tonic-gate=item 11643 101*0Sstevel@tonic-gate 102*0Sstevel@tonic-gatedocument that use utf8 is not the right way most of the time 103*0Sstevel@tonic-gate 104*0Sstevel@tonic-gate=item 11656 105*0Sstevel@tonic-gate 106*0Sstevel@tonic-gateallow builing perl with -DUSE_UTF8_SCRIPTS which makes UTF-8 107*0Sstevel@tonic-gatethe default script encoding (not the default since that would 108*0Sstevel@tonic-gatebreak all scripts having legacy eight-bit data in them) 109*0Sstevel@tonic-gate 110*0Sstevel@tonic-gate=item 11725 111*0Sstevel@tonic-gate 112*0Sstevel@tonic-gatedivision preserving 64-bit integers 113*0Sstevel@tonic-gate 114*0Sstevel@tonic-gate=item 11743 115*0Sstevel@tonic-gate 116*0Sstevel@tonic-gatedocument the coderef-in-@INC feature 117*0Sstevel@tonic-gate 118*0Sstevel@tonic-gate=item 11794 119*0Sstevel@tonic-gate 120*0Sstevel@tonic-gatemodulo (%) preserving 64-bit integers 121*0Sstevel@tonic-gate 122*0Sstevel@tonic-gate=item 11825 123*0Sstevel@tonic-gate 124*0Sstevel@tonic-gateupdate to Unicode 3.1.1 125*0Sstevel@tonic-gate 126*0Sstevel@tonic-gate=item 11865 127*0Sstevel@tonic-gate 128*0Sstevel@tonic-gateadd the \[$@%&*] prototype support 129*0Sstevel@tonic-gate 130*0Sstevel@tonic-gate=item 11874 131*0Sstevel@tonic-gate 132*0Sstevel@tonic-gateoct() and hex() in glorious 64 bit 133*0Sstevel@tonic-gate 134*0Sstevel@tonic-gate=item 11877 135*0Sstevel@tonic-gate 136*0Sstevel@tonic-gateClass::Struct: allow recursive classes 137*0Sstevel@tonic-gate 138*0Sstevel@tonic-gate=item 11993 139*0Sstevel@tonic-gate 140*0Sstevel@tonic-gatefix unpack U to be the reverse of pack U 141*0Sstevel@tonic-gate 142*0Sstevel@tonic-gate=item 12056 143*0Sstevel@tonic-gate 144*0Sstevel@tonic-gateVMS: waitpid enhancements 145*0Sstevel@tonic-gate 146*0Sstevel@tonic-gate=item 12180 147*0Sstevel@tonic-gate 148*0Sstevel@tonic-gateunpack("Z*Z*", pack("Z*Z*", ..)) was broken 149*0Sstevel@tonic-gate 150*0Sstevel@tonic-gate=item 12243 151*0Sstevel@tonic-gate 152*0Sstevel@tonic-gateDevel::Peek: display UTF-8 SVs also also as \x{...} 153*0Sstevel@tonic-gate 154*0Sstevel@tonic-gate=item 12288 155*0Sstevel@tonic-gate 156*0Sstevel@tonic-gateData::Dumper: option to sort hashes 157*0Sstevel@tonic-gate 158*0Sstevel@tonic-gate=item 12542 159*0Sstevel@tonic-gate 160*0Sstevel@tonic-gateadd perlpodspec 161*0Sstevel@tonic-gate 162*0Sstevel@tonic-gate=item 12652 163*0Sstevel@tonic-gate 164*0Sstevel@tonic-gatethreadsafe DynaLoader, re, Opcode, File::Glob, and B 165*0Sstevel@tonic-gate 166*0Sstevel@tonic-gate=item 12756 167*0Sstevel@tonic-gate 168*0Sstevel@tonic-gatesupport BeOS better 169*0Sstevel@tonic-gate 170*0Sstevel@tonic-gate=item 12874 171*0Sstevel@tonic-gate 172*0Sstevel@tonic-gateread-only hashes (user-level interface is Hash::Util) 173*0Sstevel@tonic-gate 174*0Sstevel@tonic-gate=item 13162 175*0Sstevel@tonic-gate 176*0Sstevel@tonic-gateadd Devel::PPPort 177*0Sstevel@tonic-gate 178*0Sstevel@tonic-gate=item 13179 179*0Sstevel@tonic-gate 180*0Sstevel@tonic-gateadd the sort pragma 181*0Sstevel@tonic-gate 182*0Sstevel@tonic-gate=item 13326 183*0Sstevel@tonic-gate 184*0Sstevel@tonic-gateVMS: fix perl -P 185*0Sstevel@tonic-gate 186*0Sstevel@tonic-gate=item 13358 187*0Sstevel@tonic-gate 188*0Sstevel@tonic-gateadd perlpacktut 189*0Sstevel@tonic-gate 190*0Sstevel@tonic-gate=item 13452 191*0Sstevel@tonic-gate 192*0Sstevel@tonic-gateSUPER-UX: add hints file 193*0Sstevel@tonic-gate 194*0Sstevel@tonic-gate=item 13575 195*0Sstevel@tonic-gate 196*0Sstevel@tonic-gateWin32: non-blocking waitpid(-1,WNOHANG) 197*0Sstevel@tonic-gate 198*0Sstevel@tonic-gate=item 13684 199*0Sstevel@tonic-gate 200*0Sstevel@tonic-gateintroduce the -t option for gentler taint checking 201*0Sstevel@tonic-gate 202*0Sstevel@tonic-gate=item 14694 203*0Sstevel@tonic-gate 204*0Sstevel@tonic-gateadd the if pragma 205*0Sstevel@tonic-gate 206*0Sstevel@tonic-gate=item 14832 207*0Sstevel@tonic-gate 208*0Sstevel@tonic-gateimplement IV/UV/NV/long double un/packing with j/J/F/D 209*0Sstevel@tonic-gate 210*0Sstevel@tonic-gate=item 14854 211*0Sstevel@tonic-gate 212*0Sstevel@tonic-gatedocument the new taint behaviour of exec LIST and system LIST 213*0Sstevel@tonic-gate 214*0Sstevel@tonic-gate=back 215*0Sstevel@tonic-gate 216*0Sstevel@tonic-gate=head1 Reporting Bugs 217*0Sstevel@tonic-gate 218*0Sstevel@tonic-gateIf you find what you think is a bug, you might check the articles 219*0Sstevel@tonic-gaterecently posted to the comp.lang.perl.misc newsgroup and the perl 220*0Sstevel@tonic-gatebug database at http://bugs.perl.org. There may also be 221*0Sstevel@tonic-gateinformation at http://www.perl.com/, the Perl Home Page. 222*0Sstevel@tonic-gate 223*0Sstevel@tonic-gateIf you believe you have an unreported bug, please run the B<perlbug> 224*0Sstevel@tonic-gateprogram included with your release. Be sure to trim your bug down 225*0Sstevel@tonic-gateto a tiny but sufficient test case. Your bug report, along with the 226*0Sstevel@tonic-gateoutput of C<perl -V>, will be sent off to perlbug@perl.org to be 227*0Sstevel@tonic-gateanalysed by the Perl porting team. 228*0Sstevel@tonic-gate 229*0Sstevel@tonic-gate=head1 SEE ALSO 230*0Sstevel@tonic-gate 231*0Sstevel@tonic-gateThe F<Changes> file for exhaustive details on what changed. 232*0Sstevel@tonic-gate 233*0Sstevel@tonic-gateThe F<INSTALL> file for how to build Perl. 234*0Sstevel@tonic-gate 235*0Sstevel@tonic-gateThe F<README> file for general stuff. 236*0Sstevel@tonic-gate 237*0Sstevel@tonic-gateThe F<Artistic> and F<Copying> files for copyright information. 238*0Sstevel@tonic-gate 239*0Sstevel@tonic-gate=head1 HISTORY 240*0Sstevel@tonic-gate 241*0Sstevel@tonic-gateWritten by Jarkko Hietaniemi <F<jhi@iki.fi>>, with many contributions 242*0Sstevel@tonic-gatefrom The Perl Porters and Perl Users submitting feedback and patches. 243*0Sstevel@tonic-gate 244*0Sstevel@tonic-gateSend omissions or corrections to <F<perlbug@perl.org>>. 245*0Sstevel@tonic-gate 246*0Sstevel@tonic-gate=cut 247