[ Index ]

PHP Cross Reference of Unnamed Project

title

Body

[close]

/se3-unattended/var/se3/unattended/install/linuxaux/opt/perl/lib/5.10.0/pod/ -> perl588delta.pod (source)

   1  =head1 NAME
   2  
   3  perl588delta - what is new for perl v5.8.8
   4  
   5  =head1 DESCRIPTION
   6  
   7  This document describes differences between the 5.8.7 release and
   8  the 5.8.8 release.
   9  
  10  =head1 Incompatible Changes
  11  
  12  There are no changes intentionally incompatible with 5.8.7. If any exist,
  13  they are bugs and reports are welcome.
  14  
  15  =head1 Core Enhancements
  16  
  17  =over
  18  
  19  =item *
  20  
  21  C<chdir>, C<chmod> and C<chown> can now work on filehandles as well as
  22  filenames, if the system supports respectively C<fchdir>, C<fchmod> and
  23  C<fchown>, thanks to a patch provided by Gisle Aas.
  24  
  25  =back
  26  
  27  =head1 Modules and Pragmata
  28  
  29  =over
  30  
  31  =item *
  32  
  33  C<Attribute::Handlers> upgraded to version 0.78_02
  34  
  35  =over
  36  
  37  =item *
  38  
  39  Documentation typo fix
  40  
  41  =back
  42  
  43  =item *
  44  
  45  C<attrs> upgraded to version 1.02
  46  
  47  =over
  48  
  49  =item *
  50  
  51  Internal cleanup only
  52  
  53  =back
  54  
  55  =item *
  56  
  57  C<autouse> upgraded to version 1.05
  58  
  59  =over
  60  
  61  =item *
  62  
  63  Simplified implementation
  64  
  65  =back
  66  
  67  =item *
  68  
  69  C<B> upgraded to version 1.09_01
  70  
  71  =over
  72  
  73  =item *
  74  
  75  The inheritance hierarchy of the C<B::> modules has been corrected;
  76  C<B::NV> now inherits from C<B::SV> (instead of C<B::IV>).
  77  
  78  =back
  79  
  80  =item *
  81  
  82  C<blib> upgraded to version 1.03
  83  
  84  =over
  85  
  86  =item *
  87  
  88  Documentation typo fix
  89  
  90  =back
  91  
  92  =item *
  93  
  94  C<ByteLoader> upgraded to version 0.06
  95  
  96  =over
  97  
  98  =item *
  99  
 100  Internal cleanup
 101  
 102  =back
 103  
 104  =item *
 105  
 106  C<CGI> upgraded to version 3.15
 107  
 108  =over
 109  
 110  =item *
 111  
 112  Extraneous "?" from C<self_url()> removed
 113  
 114  =item *
 115  
 116  C<scrolling_list()> select attribute fixed
 117  
 118  =item *
 119  
 120  C<virtual_port> now works properly with the https protocol
 121  
 122  =item *
 123  
 124  C<upload_hook()> and C<append()> now works in function-oriented mode
 125  
 126  =item *
 127  
 128  C<POST_MAX> doesn't cause the client to hang any more
 129  
 130  =item *
 131  
 132  Automatic tab indexes are now disabled and new C<-tabindex> pragma has
 133  been added to turn automatic indexes back on
 134  
 135  =item *
 136  
 137  C<end_form()> doesn't emit empty (and non-validating) C<< <div> >>
 138  
 139  =item *
 140  
 141  C<CGI::Carp> works better in certain mod_perl configurations
 142  
 143  =item *
 144  
 145  Setting C<$CGI::TMPDIRECTORY> is now effective
 146  
 147  =item *
 148  
 149  Enhanced documentation
 150  
 151  =back
 152  
 153  =item *
 154  
 155  C<charnames> upgraded to version 1.05
 156  
 157  =over
 158  
 159  =item *
 160  
 161  C<viacode()> now accept hex strings and has been optimized.
 162  
 163  =back
 164  
 165  =item *
 166  
 167  C<CPAN> upgraded to version 1.76_02
 168  
 169  =over
 170  
 171  =item *
 172  
 173  1 minor bug fix for Win32
 174  
 175  =back
 176  
 177  =item *
 178  
 179  C<Cwd> upgraded to version 3.12
 180  
 181  =over
 182  
 183  =item *
 184  
 185  C<canonpath()> on Win32 now collapses F<foo\..> sections correctly.
 186  
 187  =item *
 188  
 189  Improved behaviour on Symbian OS.
 190  
 191  =item *
 192  
 193  Enhanced documentation and typo fixes
 194  
 195  =item *
 196  
 197  Internal cleanup
 198  
 199  =back
 200  
 201  =item *
 202  
 203  C<Data::Dumper> upgraded to version 2.121_08
 204  
 205  =over
 206  
 207  =item *
 208  
 209  A problem where C<Data::Dumper> would sometimes update the iterator state
 210  of hashes has been fixed
 211  
 212  =item *
 213  
 214  Numeric labels now work
 215  
 216  =item *
 217  
 218  Internal cleanup
 219  
 220  =back
 221  
 222  =item *
 223  
 224  C<DB> upgraded to version 1.01
 225  
 226  =over
 227  
 228  =item *
 229  
 230  A problem where the state of the regexp engine would sometimes get clobbered when running
 231  under the debugger has been fixed.
 232  
 233  =back
 234  
 235  =item *
 236  
 237  C<DB_File> upgraded to version 1.814
 238  
 239  =over
 240  
 241  =item *
 242  
 243  Adds support for Berkeley DB 4.4.
 244  
 245  =back
 246  
 247  =item *
 248  
 249  C<Devel::DProf> upgraded to version 20050603.00
 250  
 251  =over
 252  
 253  =item *
 254  
 255  Internal cleanup
 256  
 257  =back
 258  
 259  =item *
 260  
 261  C<Devel::Peek> upgraded to version 1.03
 262  
 263  =over
 264  
 265  =item *
 266  
 267  Internal cleanup
 268  
 269  =back
 270  
 271  =item *
 272  
 273  C<Devel::PPPort> upgraded to version 3.06_01
 274  
 275  =over
 276  
 277  =item *
 278  
 279  C<--compat-version> argument checking has been improved
 280  
 281  =item *
 282  
 283  Files passed on the command line are filtered by default
 284  
 285  =item *
 286  
 287  C<--nofilter> option to override the filtering has been added
 288  
 289  =item *
 290  
 291  Enhanced documentation
 292  
 293  =back
 294  
 295  =item *
 296  
 297  C<diagnostics> upgraded to version 1.15
 298  
 299  =over
 300  
 301  =item *
 302  
 303  Documentation typo fix
 304  
 305  =back
 306  
 307  =item *
 308  
 309  C<Digest> upgraded to version 1.14
 310  
 311  =over
 312  
 313  =item *
 314  
 315  The constructor now knows which module implements SHA-224
 316  
 317  =item *
 318  
 319  Documentation tweaks and typo fixes
 320  
 321  =back
 322  
 323  =item *
 324  
 325  C<Digest::MD5> upgraded to version 2.36
 326  
 327  =over
 328  
 329  =item *
 330  
 331  C<XSLoader> is now used for faster loading
 332  
 333  =item *
 334  
 335  Enhanced documentation including MD5 weaknesses discovered lately
 336  
 337  =back
 338  
 339  =item *
 340  
 341  C<Dumpvalue> upgraded to version 1.12
 342  
 343  =over
 344  
 345  =item *
 346  
 347  Documentation fix
 348  
 349  =back
 350  
 351  =item *
 352  
 353  C<DynaLoader> upgraded but unfortunately we're not able to increment its version number :-(
 354  
 355  =over
 356  
 357  =item *
 358  
 359  Implements C<dl_unload_file> on Win32
 360  
 361  =item *
 362  
 363  Internal cleanup
 364  
 365  =item *
 366  
 367  C<XSLoader> 0.06 incorporated; small optimisation for calling
 368  C<bootstrap_inherit()> and documentation enhancements.
 369  
 370  =back
 371  
 372  =item *
 373  
 374  C<Encode> upgraded to version 2.12
 375  
 376  =over
 377  
 378  =item *
 379  
 380  A coderef is now acceptable for C<CHECK>!
 381  
 382  =item *
 383  
 384  3 new characters added to the ISO-8859-7 encoding
 385  
 386  =item *
 387  
 388  New encoding C<MIME-Header-ISO_2022_JP> added
 389  
 390  =item *
 391  
 392  Problem with partial characters and C<< encoding(utf-8-strict) >> fixed.
 393  
 394  =item *
 395  
 396  Documentation enhancements and typo fixes
 397  
 398  =back
 399  
 400  =item *
 401  
 402  C<English> upgraded to version 1.02
 403  
 404  =over
 405  
 406  =item *
 407  
 408  the C<< $COMPILING >> variable has been added
 409  
 410  =back
 411  
 412  =item *
 413  
 414  C<ExtUtils::Constant> upgraded to version 0.17
 415  
 416  =over
 417  
 418  =item *
 419  
 420  Improved compatibility with older versions of perl
 421  
 422  =back
 423  
 424  =item *
 425  
 426  C<ExtUtils::MakeMaker> upgraded to version 6.30 (was 6.17)
 427  
 428  =over
 429  
 430  =item *
 431  
 432  Too much to list here;  see L<http://search.cpan.org/src/MSCHWERN/ExtUtils-MakeMaker-6.30/Changes>
 433  
 434  =back
 435  
 436  =item *
 437  
 438  C<File::Basename> upgraded to version 2.74, with changes contributed by Michael Schwern.
 439  
 440  =over
 441  
 442  =item *
 443  
 444  Documentation clarified and errors corrected.
 445  
 446  =item *
 447  
 448  C<basename> now strips trailing path separators before processing the name.
 449  
 450  =item *
 451  
 452  C<basename> now returns C</> for parameter C</>, to make C<basename>
 453  consistent with the shell utility of the same name.
 454  
 455  =item *
 456  
 457  The suffix is no longer stripped if it is identical to the remaining characters
 458  in the name, again for consistency with the shell utility.
 459  
 460  =item *
 461  
 462  Some internal code cleanup.
 463  
 464  =back
 465  
 466  =item *
 467  
 468  C<File::Copy> upgraded to version 2.09
 469  
 470  =over
 471  
 472  =item *
 473  
 474  Copying a file onto itself used to fail.
 475  
 476  =item *
 477  
 478  Moving a file between file systems now preserves the access and
 479  modification time stamps
 480  
 481  =back
 482  
 483  =item *
 484  
 485  C<File::Find> upgraded to version 1.10
 486  
 487  =over
 488  
 489  =item *
 490  
 491  Win32 portability fixes
 492  
 493  =item *
 494  
 495  Enhanced documentation
 496  
 497  =back
 498  
 499  =item *
 500  
 501  C<File::Glob> upgraded to version 1.05
 502  
 503  =over
 504  
 505  =item *
 506  
 507  Internal cleanup
 508  
 509  =back
 510  
 511  =item *
 512  
 513  C<File::Path> upgraded to version 1.08
 514  
 515  =over
 516  
 517  =item *
 518  
 519  C<mkpath> now preserves C<errno> when C<mkdir> fails
 520  
 521  =back
 522  
 523  =item *
 524  
 525  C<File::Spec> upgraded to version 3.12
 526  
 527  =over
 528  
 529  =item *
 530  
 531  C<File::Spec->rootdir()> now returns C<\> on Win32, instead of C</>
 532  
 533  =item *
 534  
 535  C<$^O> could sometimes become tainted. This has been fixed.
 536  
 537  =item *
 538  
 539  C<canonpath> on Win32 now collapses C<foo/..> (or C<foo\..>) sections
 540  correctly, rather than doing the "misguided" work it was previously doing.
 541  Note that C<canonpath> on Unix still does B<not> collapse these sections, as
 542  doing so would be incorrect.
 543  
 544  =item *
 545  
 546  Some documentation improvements
 547  
 548  =item *
 549  
 550  Some internal code cleanup
 551  
 552  =back
 553  
 554  =item *
 555  
 556  C<FileCache> upgraded to version 1.06
 557  
 558  =over
 559  
 560  =item *
 561  
 562  POD formatting errors in the documentation fixed
 563  
 564  =back
 565  
 566  =item *
 567  
 568  C<Filter::Simple> upgraded to version 0.82
 569  
 570  =item *
 571  
 572  C<FindBin> upgraded to version 1.47
 573  
 574  =over
 575  
 576  =item *
 577  
 578  Now works better with directories where access rights are more
 579  restrictive than usual.
 580  
 581  =back
 582  
 583  =item *
 584  
 585  C<GDBM_File> upgraded to version 1.08
 586  
 587  =over
 588  
 589  =item *
 590  
 591  Internal cleanup
 592  
 593  =back
 594  
 595  =item *
 596  
 597  C<Getopt::Long> upgraded to version 2.35
 598  
 599  =over
 600  
 601  =item *
 602  
 603  C<prefix_pattern> has now been complemented by a new configuration
 604  option C<long_prefix_pattern> that allows the user to specify what
 605  prefix patterns should have long option style semantics applied.
 606  
 607  =item *
 608  
 609  Options can now take multiple values at once (experimental)
 610  
 611  =item *
 612  
 613  Various bug fixes
 614  
 615  =back
 616  
 617  =item *
 618  
 619  C<if> upgraded to version 0.05
 620  
 621  =over
 622  
 623  =item *
 624  
 625  Give more meaningful error messages from C<if> when invoked with a
 626  condition in list context.
 627  
 628  =item *
 629  
 630  Restore backwards compatibility with earlier versions of perl
 631  
 632  =back
 633  
 634  =item *
 635  
 636  C<IO> upgraded to version 1.22
 637  
 638  =over
 639  
 640  =item *
 641  
 642  Enhanced documentation
 643  
 644  =item *
 645  
 646  Internal cleanup
 647  
 648  =back
 649  
 650  =item *
 651  
 652  C<IPC::Open2> upgraded to version 1.02
 653  
 654  =over
 655  
 656  =item *
 657  
 658  Enhanced documentation
 659  
 660  =back
 661  
 662  =item *
 663  
 664  C<IPC::Open3> upgraded to version 1.02
 665  
 666  =over
 667  
 668  =item *
 669  
 670  Enhanced documentation
 671  
 672  =back
 673  
 674  =item *
 675  
 676  C<List::Util> upgraded to version 1.18 (was 1.14)
 677  
 678  =over
 679  
 680  =item *
 681  
 682  Fix pure-perl version of C<refaddr> to avoid blessing an un-blessed reference
 683  
 684  =item *
 685  
 686  Use C<XSLoader> for faster loading
 687  
 688  =item *
 689  
 690  Fixed various memory leaks
 691  
 692  =item *
 693  
 694  Internal cleanup and portability fixes
 695  
 696  =back
 697  
 698  =item *
 699  
 700  C<Math::Complex> upgraded to version 1.35
 701  
 702  =over
 703  
 704  =item *
 705  
 706  C<atan2(0, i)> now works, as do all the (computable) complex argument cases
 707  
 708  =item *
 709  
 710  Fixes for certain bugs in C<make> and C<emake>
 711  
 712  =item *
 713  
 714  Support returning the I<k>th root directly
 715  
 716  =item *
 717  
 718  Support C<[2,-3pi/8]> in C<emake>
 719  
 720  =item *
 721  
 722  Support C<inf> for C<make>/C<emake>
 723  
 724  =item *
 725  
 726  Document C<make>/C<emake> more visibly
 727  
 728  =back
 729  
 730  =item *
 731  
 732  C<Math::Trig> upgraded to version 1.03
 733  
 734  =over
 735  
 736  =item *
 737  
 738  Add more great circle routines: C<great_circle_waypoint> and
 739  C<great_circle_destination>
 740  
 741  =back
 742  
 743  =item *
 744  
 745  C<MIME::Base64> upgraded to version 3.07
 746  
 747  =over
 748  
 749  =item *
 750  
 751  Use C<XSLoader> for faster loading
 752  
 753  =item *
 754  
 755  Enhanced documentation
 756  
 757  =item *
 758  
 759  Internal cleanup
 760  
 761  =back
 762  
 763  =item *
 764  
 765  C<NDBM_File> upgraded to version 1.06
 766  
 767  =over
 768  
 769  =item *
 770  
 771  Enhanced documentation
 772  
 773  =back
 774  
 775  =item *
 776  
 777  C<ODBM_File> upgraded to version 1.06
 778  
 779  =over
 780  
 781  =item *
 782  
 783  Documentation typo fixed
 784  
 785  =item *
 786  
 787  Internal cleanup
 788  
 789  =back
 790  
 791  =item *
 792  
 793  C<Opcode> upgraded to version 1.06
 794  
 795  =over
 796  
 797  =item *
 798  
 799  Enhanced documentation
 800  
 801  =item *
 802  
 803  Internal cleanup
 804  
 805  =back
 806  
 807  =item *
 808  
 809  C<open> upgraded to version 1.05
 810  
 811  =over
 812  
 813  =item *
 814  
 815  Enhanced documentation
 816  
 817  =back
 818  
 819  =item *
 820  
 821  C<overload> upgraded to version 1.04
 822  
 823  =over
 824  
 825  =item *
 826  
 827  Enhanced documentation
 828  
 829  =back
 830  
 831  =item *
 832  
 833  C<PerlIO> upgraded to version 1.04
 834  
 835  =over
 836  
 837  =item *
 838  
 839  C<PerlIO::via> iterate over layers properly now
 840  
 841  =item *
 842  
 843  C<PerlIO::scalar> understands C<< $/ = "" >> now
 844  
 845  =item *
 846  
 847  C<encoding(utf-8-strict)> with partial characters now works
 848  
 849  =item *
 850  
 851  Enhanced documentation
 852  
 853  =item *
 854  
 855  Internal cleanup
 856  
 857  =back
 858  
 859  =item *
 860  
 861  C<Pod::Functions> upgraded to version 1.03
 862  
 863  =over
 864  
 865  =item *
 866  
 867  Documentation typos fixed
 868  
 869  =back
 870  
 871  =item *
 872  
 873  C<Pod::Html> upgraded to version 1.0504
 874  
 875  =over
 876  
 877  =item *
 878  
 879  HTML output will now correctly link
 880  to C<=item>s on the same page, and should be valid XHTML.
 881  
 882  =item *
 883  
 884  Variable names are recognized as intended
 885  
 886  =item *
 887  
 888  Documentation typos fixed
 889  
 890  =back
 891  
 892  =item *
 893  
 894  C<Pod::Parser> upgraded to version 1.32
 895  
 896  =over
 897  
 898  =item *
 899  
 900  Allow files that start with C<=head> on the first line
 901  
 902  =item *
 903  
 904  Win32 portability fix
 905  
 906  =item *
 907  
 908  Exit status of C<pod2usage> fixed
 909  
 910  =item *
 911  
 912  New C<-noperldoc> switch for C<pod2usage>
 913  
 914  =item *
 915  
 916  Arbitrary URL schemes now allowed
 917  
 918  =item *
 919  
 920  Documentation typos fixed
 921  
 922  =back
 923  
 924  =item *
 925  
 926  C<POSIX> upgraded to version 1.09
 927  
 928  =over
 929  
 930  =item *
 931  
 932  Documentation typos fixed
 933  
 934  =item *
 935  
 936  Internal cleanup
 937  
 938  =back
 939  
 940  =item *
 941  
 942  C<re> upgraded to version 0.05
 943  
 944  =over
 945  
 946  =item *
 947  
 948  Documentation typo fixed
 949  
 950  =back
 951  
 952  =item *
 953  
 954  C<Safe> upgraded to version 2.12
 955  
 956  =over
 957  
 958  =item *
 959  
 960  Minor documentation enhancement
 961  
 962  =back
 963  
 964  =item *
 965  
 966  C<SDBM_File> upgraded to version 1.05
 967  
 968  =over
 969  
 970  =item *
 971  
 972  Documentation typo fixed
 973  
 974  =item *
 975  
 976  Internal cleanup
 977  
 978  =back
 979  
 980  =item *
 981  
 982  C<Socket> upgraded to version 1.78
 983  
 984  =over
 985  
 986  =item *
 987  
 988  Internal cleanup
 989  
 990  =back
 991  
 992  =item *
 993  
 994  C<Storable> upgraded to version 2.15
 995  
 996  =over
 997  
 998  =item *
 999  
1000  This includes the C<STORABLE_attach> hook functionality added by
1001  Adam Kennedy, and more frugal memory requirements when storing under C<ithreads>, by
1002  using the C<ithreads> cloning tracking code.
1003  
1004  =back
1005  
1006  =item *
1007  
1008  C<Switch> upgraded to version 2.10_01
1009  
1010  =over
1011  
1012  =item *
1013  
1014  Documentation typos fixed
1015  
1016  =back
1017  
1018  =item *
1019  
1020  C<Sys::Syslog> upgraded to version 0.13
1021  
1022  =over
1023  
1024  =item *
1025  
1026  Now provides numeric macros and meaningful C<Exporter> tags.
1027  
1028  =item *
1029  
1030  No longer uses C<Sys::Hostname> as it may provide useless values in
1031  unconfigured network environments, so instead uses C<INADDR_LOOPBACK> directly.
1032  
1033  =item *
1034  
1035  C<syslog()> now uses local timestamp.
1036  
1037  =item *
1038  
1039  C<setlogmask()> now behaves like its C counterpart.
1040  
1041  =item *
1042  
1043  C<setlogsock()> will now C<croak()> as documented.
1044  
1045  =item *
1046  
1047  Improved error and warnings messages.
1048  
1049  =item *
1050  
1051  Improved documentation.
1052  
1053  =back
1054  
1055  =item *
1056  
1057  C<Term::ANSIColor> upgraded to version 1.10
1058  
1059  =over
1060  
1061  =item *
1062  
1063  Fixes a bug in C<colored> when C<$EACHLINE> is set that caused it to not color
1064  lines consisting solely of 0 (literal zero).
1065  
1066  =item *
1067  
1068  Improved tests.
1069  
1070  =back
1071  
1072  =item *
1073  
1074  C<Term::ReadLine> upgraded to version 1.02
1075  
1076  =over
1077  
1078  =item *
1079  
1080  Documentation tweaks
1081  
1082  =back
1083  
1084  =item *
1085  
1086  C<Test::Harness> upgraded to version 2.56 (was 2.48)
1087  
1088  =over
1089  
1090  =item *
1091  
1092  The C<Test::Harness> timer is now off by default.
1093  
1094  =item *
1095  
1096  Now shows elapsed time in milliseconds.
1097  
1098  =item *
1099  
1100  Various bug fixes
1101  
1102  =back
1103  
1104  =item *
1105  
1106  C<Test::Simple> upgraded to version 0.62 (was 0.54)
1107  
1108  =over
1109  
1110  =item *
1111  
1112  C<is_deeply()> no longer fails to work for many cases
1113  
1114  =item *
1115  
1116  Various minor bug fixes
1117  
1118  =item *
1119  
1120  Documentation enhancements
1121  
1122  =back
1123  
1124  =item *
1125  
1126  C<Text::Tabs> upgraded to version 2005.0824
1127  
1128  =over
1129  
1130  =item *
1131  
1132  Provides a faster implementation of C<expand>
1133  
1134  =back
1135  
1136  =item *
1137  
1138  C<Text::Wrap> upgraded to version 2005.082401
1139  
1140  =over
1141  
1142  =item *
1143  
1144  Adds C<$Text::Wrap::separator2>, which allows you to preserve existing newlines
1145  but add line-breaks with some other string.
1146  
1147  =back
1148  
1149  =item *
1150  
1151  C<threads> upgraded to version 1.07
1152  
1153  =over
1154  
1155  =item *
1156  
1157  C<threads> will now honour C<no warnings 'threads'>
1158  
1159  =item *
1160  
1161  A thread's interpreter is now freed after C<< $t->join() >> rather than after
1162  C<undef $t>, which should fix some C<ithreads> memory leaks. (Fixed by Dave
1163  Mitchell)
1164  
1165  =item *
1166  
1167  Some documentation typo fixes.
1168  
1169  =back
1170  
1171  =item *
1172  
1173  C<threads::shared> upgraded to version 0.94
1174  
1175  =over
1176  
1177  =item *
1178  
1179  Documentation changes only
1180  
1181  =item *
1182  
1183  Note: An improved implementation of C<threads::shared> is available on
1184  CPAN - this will be merged into 5.8.9 if it proves stable.
1185  
1186  =back
1187  
1188  =item *
1189  
1190  C<Tie::Hash> upgraded to version 1.02
1191  
1192  =over
1193  
1194  =item *
1195  
1196  Documentation typo fixed
1197  
1198  =back
1199  
1200  =item *
1201  
1202  C<Time::HiRes> upgraded to version 1.86 (was 1.66)
1203  
1204  =over
1205  
1206  =item *
1207  
1208  C<clock_nanosleep()> and C<clock()> functions added
1209  
1210  =item *
1211  
1212  Support for the POSIX C<clock_gettime()> and C<clock_getres()> has been added
1213  
1214  =item *
1215  
1216  Return C<undef> or an empty list if the C C<gettimeofday()> function fails
1217  
1218  =item *
1219  
1220  Improved C<nanosleep> detection
1221  
1222  =item *
1223  
1224  Internal cleanup
1225  
1226  =item *
1227  
1228  Enhanced documentation
1229  
1230  =back
1231  
1232  =item *
1233  
1234  C<Unicode::Collate> upgraded to version 0.52
1235  
1236  =over
1237  
1238  =item *
1239  
1240  Now implements UCA Revision 14 (based on Unicode 4.1.0).
1241  
1242  =item *
1243  
1244  C<Unicode::Collate->new> method no longer overwrites user's C<$_>
1245  
1246  =item *
1247  
1248  Enhanced documentation
1249  
1250  =back
1251  
1252  =item *
1253  
1254  C<Unicode::UCD> upgraded to version 0.24
1255  
1256  =over
1257  
1258  =item *
1259  
1260  Documentation typos fixed
1261  
1262  =back
1263  
1264  =item *
1265  
1266  C<User::grent> upgraded to version 1.01
1267  
1268  =over
1269  
1270  =item *
1271  
1272  Documentation typo fixed
1273  
1274  =back
1275  
1276  =item *
1277  
1278  C<utf8> upgraded to version 1.06
1279  
1280  =over
1281  
1282  =item *
1283  
1284  Documentation typos fixed
1285  
1286  =back
1287  
1288  =item *
1289  
1290  C<vmsish> upgraded to version 1.02
1291  
1292  =over
1293  
1294  =item *
1295  
1296  Documentation typos fixed
1297  
1298  =back
1299  
1300  =item *
1301  
1302  C<warnings> upgraded to version 1.05
1303  
1304  =over
1305  
1306  =item *
1307  
1308  Gentler messing with C<Carp::> internals
1309  
1310  =item *
1311  
1312  Internal cleanup
1313  
1314  =item *
1315  
1316  Documentation update
1317  
1318  =back
1319  
1320  =item *
1321  
1322  C<Win32> upgraded to version 0.2601
1323  
1324  =for cynics And how many perl 5.8.x versions can I release ahead of Vista?
1325  
1326  =over
1327  
1328  =item *
1329  
1330  Provides Windows Vista support to C<Win32::GetOSName>
1331  
1332  =item *
1333  
1334  Documentation enhancements
1335  
1336  =back
1337  
1338  =item *
1339  
1340  C<XS::Typemap> upgraded to version 0.02
1341  
1342  =over
1343  
1344  =item *
1345  
1346  Internal cleanup
1347  
1348  =back
1349  
1350  =back
1351  
1352  =head1 Utility Changes
1353  
1354  =head2 C<h2xs> enhancements
1355  
1356  C<h2xs> implements new option C<--use-xsloader> to force use of
1357  C<XSLoader> even in backwards compatible modules.
1358  
1359  The handling of authors' names that had apostrophes has been fixed.
1360  
1361  Any enums with negative values are now skipped.
1362  
1363  =head2 C<perlivp> enhancements
1364  
1365  C<perlivp> implements new option C<-a> and will not check for F<*.ph>
1366  files by default any more.  Use the C<-a> option to run I<all> tests.
1367  
1368  =head1 New Documentation
1369  
1370  The L<perlglossary> manpage is a glossary of terms used in the Perl
1371  documentation, technical and otherwise, kindly provided by O'Reilly Media,
1372  inc.
1373  
1374  =head1 Performance Enhancements
1375  
1376  =over 4
1377  
1378  =item *
1379  
1380  Weak reference creation is now I<O(1)> rather than I<O(n)>, courtesy of
1381  Nicholas Clark. Weak reference deletion remains I<O(n)>, but if deletion only
1382  happens at program exit, it may be skipped completely.
1383  
1384  =item *
1385  
1386  Salvador Fandiņo provided improvements to reduce the memory usage of C<sort>
1387  and to speed up some cases.
1388  
1389  =item *
1390  
1391  Jarkko Hietaniemi and Andy Lester worked to mark as much data as possible in
1392  the C source files as C<static>, to increase the proportion of the executable
1393  file that the operating system can share between process, and thus reduce
1394  real memory usage on multi-user systems.
1395  
1396  =back
1397  
1398  =head1 Installation and Configuration Improvements
1399  
1400  Parallel makes should work properly now, although there may still be problems
1401  if C<make test> is instructed to run in parallel.
1402  
1403  Building with Borland's compilers on Win32 should work more smoothly. In
1404  particular Steve Hay has worked to side step many warnings emitted by their
1405  compilers and at least one C compiler internal error.
1406  
1407  C<Configure> will now detect C<clearenv> and C<unsetenv>, thanks to a patch
1408  from Alan Burlison. It will also probe for C<futimes> and whether C<sprintf>
1409  correctly returns the length of the formatted string, which will both be used
1410  in perl 5.8.9.
1411  
1412  There are improved hints for next-3.0, vmesa, IX, Darwin, Solaris, Linux,
1413  DEC/OSF, HP-UX and MPE/iX
1414  
1415  Perl extensions on Windows now can be statically built into the Perl DLL,
1416  thanks to a work by Vadim Konovalov. (This improvement was actually in 5.8.7,
1417  but was accidentally omitted from L<perl587delta>).
1418  
1419  =head1 Selected Bug Fixes
1420  
1421  =head2 no warnings 'category' works correctly with -w
1422  
1423  Previously when running with warnings enabled globally via C<-w>, selective
1424  disabling of specific warning categories would actually turn off all warnings.
1425  This is now fixed; now C<no warnings 'io';> will only turn off warnings in the
1426  C<io> class. Previously it would erroneously turn off all warnings.
1427  
1428  This bug fix may cause some programs to start correctly issuing warnings.
1429  
1430  =head2 Remove over-optimisation
1431  
1432  Perl 5.8.4 introduced a change so that assignments of C<undef> to a
1433  scalar, or of an empty list to an array or a hash, were optimised away. As
1434  this could cause problems when C<goto> jumps were involved, this change
1435  has been backed out.
1436  
1437  =head2 sprintf() fixes
1438  
1439  Using the sprintf() function with some formats could lead to a buffer
1440  overflow in some specific cases. This has been fixed, along with several
1441  other bugs, notably in bounds checking.
1442  
1443  In related fixes, it was possible for badly written code that did not follow
1444  the documentation of C<Sys::Syslog> to have formatting vulnerabilities.
1445  C<Sys::Syslog> has been changed to protect people from poor quality third
1446  party code.
1447  
1448  =head2 Debugger and Unicode slowdown
1449  
1450  It had been reported that running under perl's debugger when processing
1451  Unicode data could cause unexpectedly large slowdowns. The most likely cause
1452  of this was identified and fixed by Nicholas Clark.
1453  
1454  =head2 Smaller fixes
1455  
1456  =over 4
1457  
1458  =item *
1459  
1460  C<FindBin> now works better with directories where access rights are more
1461  restrictive than usual.
1462  
1463  =item *
1464  
1465  Several memory leaks in ithreads were closed. An improved implementation of
1466  C<threads::shared> is available on CPAN - this will be merged into 5.8.9 if
1467  it proves stable.
1468  
1469  =item *
1470  
1471  Trailing spaces are now trimmed from C<$!> and C<$^E>.
1472  
1473  =item *
1474  
1475  Operations that require perl to read a process' list of groups, such as reads
1476  of C<$(> and C<$)>, now dynamically allocate memory rather than using a
1477  fixed sized array. The fixed size array could cause C stack exhaustion on
1478  systems configured to use large numbers of groups.
1479  
1480  =item *
1481  
1482  C<PerlIO::scalar> now works better with non-default C<$/> settings.
1483  
1484  =item *
1485  
1486  You can now use the C<x> operator to repeat a C<qw//> list. This used
1487  to raise a syntax error.
1488  
1489  =item *
1490  
1491  The debugger now traces correctly execution in eval("")uated code that
1492  contains #line directives.
1493  
1494  =item *
1495  
1496  The value of the C<open> pragma is no longer ignored for three-argument
1497  opens.
1498  
1499  =item *
1500  
1501  The optimisation of C<for (reverse @a)> introduced in perl 5.8.6 could
1502  misbehave when the array had undefined elements and was used in LVALUE
1503  context. Dave Mitchell provided a fix.
1504  
1505  =item *
1506  
1507  Some case insensitive matches between UTF-8 encoded data and 8 bit regexps,
1508  and vice versa, could give malformed character warnings. These have been
1509  fixed by Dave Mitchell and Yves Orton.
1510  
1511  =item *
1512  
1513  C<lcfirst> and C<ucfirst> could corrupt the string for certain cases where
1514  the length UTF-8 encoding of the string in lower case, upper case or title
1515  case differed. This was fixed by Nicholas Clark.
1516  
1517  =item *
1518  
1519  Perl will now use the C library calls C<unsetenv> and C<clearenv> if present
1520  to delete keys from C<%ENV> and delete C<%ENV> entirely, thanks to a patch
1521  from Alan Burlison.
1522  
1523  =back
1524  
1525  =head1 New or Changed Diagnostics
1526  
1527  =head2 Attempt to set length of freed array
1528  
1529  This is a new warning, produced in situations such as this:
1530  
1531      $r = do {my @a; \$#a};
1532      $$r = 503;
1533  
1534  =head2 Non-string passed as bitmask
1535  
1536  This is a new warning, produced when number has been passed as a argument to
1537  select(), instead of a bitmask.
1538  
1539      # Wrong, will now warn
1540      $rin = fileno(STDIN);
1541      ($nfound,$timeleft) = select($rout=$rin, undef, undef, $timeout);
1542      
1543      # Should be
1544      $rin = '';
1545      vec($rin,fileno(STDIN),1) = 1;
1546      ($nfound,$timeleft) = select($rout=$rin, undef, undef, $timeout);
1547  
1548  =head2 Search pattern not terminated or ternary operator parsed as search pattern
1549  
1550  This syntax error indicates that the lexer couldn't find the final
1551  delimiter of a C<?PATTERN?> construct. Mentioning the ternary operator in
1552  this error message makes it easier to diagnose syntax errors.
1553  
1554  =head1 Changed Internals
1555  
1556  There has been a fair amount of refactoring of the C<C> source code, partly to
1557  make it tidier and more maintainable. The resulting object code and the
1558  C<perl> binary may well be smaller than 5.8.7, in particular due to a change
1559  contributed by Dave Mitchell which reworked the warnings code to be
1560  significantly smaller. Apart from being smaller and possibly faster, there
1561  should be no user-detectable changes.
1562  
1563  Andy Lester supplied many improvements to determine which function
1564  parameters and local variables could actually be declared C<const> to the C
1565  compiler. Steve Peters provided new C<*_set> macros and reworked the core to
1566  use these rather than assigning to macros in LVALUE context.
1567  
1568  Dave Mitchell improved the lexer debugging output under C<-DT>
1569  
1570  Nicholas Clark changed the string buffer allocation so that it is now rounded
1571  up to the next multiple of 4 (or 8 on platforms with 64 bit pointers). This
1572  should reduce the number of calls to C<realloc> without actually using any
1573  extra memory.
1574  
1575  The C<HV>'s array of C<HE*>s is now allocated at the correct (minimal) size,
1576  thanks to another change by Nicholas Clark. Compile with
1577  C<-DPERL_USE_LARGE_HV_ALLOC> to use the old, sloppier, default.
1578  
1579  For XS or embedding debugging purposes, if perl is compiled with
1580  C<-DDEBUG_LEAKING_SCALARS_FORK_DUMP> in addition to
1581  C<-DDEBUG_LEAKING_SCALARS> then a child process is C<fork>ed just before
1582  global destruction, which is used to display the values of any scalars
1583  found to have leaked at the end of global destruction. Without this, the
1584  scalars have already been freed sufficiently at the point of detection that
1585  it is impossible to produce any meaningful dump of their contents.  This
1586  feature was implemented by the indefatigable Nicholas Clark, based on an idea
1587  by Mike Giroux.
1588  
1589  =head1 Platform Specific Problems
1590  
1591  The optimiser on HP-UX 11.23 (Itanium 2) is currently partly disabled (scaled
1592  down to +O1) when using HP C-ANSI-C; the cause of problems at higher
1593  optimisation levels is still unclear.
1594  
1595  There are a handful of remaining test failures on VMS, mostly due to
1596  test fixes and minor module tweaks with too many dependencies to
1597  integrate into this release from the development stream, where they have
1598  all been corrected.  The following is a list of expected failures with
1599  the patch number of the fix where that is known:
1600  
1601      ext/Devel/PPPort/t/ppphtest.t  #26913
1602      ext/List/Util/t/p_tainted.t    #26912
1603      lib/ExtUtils/t/PL_FILES.t      #26813
1604      lib/ExtUtils/t/basic.t         #26813
1605      t/io/fs.t
1606      t/op/cmp.t
1607  
1608  =head1 Reporting Bugs
1609  
1610  If you find what you think is a bug, you might check the articles
1611  recently posted to the comp.lang.perl.misc newsgroup and the perl
1612  bug database at http://bugs.perl.org.  There may also be
1613  information at http://www.perl.org, the Perl Home Page.
1614  
1615  If you believe you have an unreported bug, please run the B<perlbug>
1616  program included with your release.  Be sure to trim your bug down
1617  to a tiny but sufficient test case.  Your bug report, along with the
1618  output of C<perl -V>, will be sent off to perlbug@perl.org to be
1619  analysed by the Perl porting team.  You can browse and search
1620  the Perl 5 bugs at http://bugs.perl.org/
1621  
1622  =head1 SEE ALSO
1623  
1624  The F<Changes> file for exhaustive details on what changed.
1625  
1626  The F<INSTALL> file for how to build Perl.
1627  
1628  The F<README> file for general stuff.
1629  
1630  The F<Artistic> and F<Copying> files for copyright information.
1631  
1632  =cut


Generated: Tue Mar 17 22:47:18 2015 Cross-referenced by PHPXref 0.7.1