1=head1 NAME 2 3perl572delta - what's new for perl v5.7.2 4 5=head1 DESCRIPTION 6 7This document describes differences between the 5.7.1 release and the 85.7.2 release. 9 10(To view the differences between the 5.6.0 release and the 5.7.0 11release, see L<perl570delta>. To view the differences between the 125.7.0 release and the 5.7.1 release, see L<perl571delta>.) 13 14=head1 Security Vulnerability Closed 15 16(This change was already made in 5.7.0 but bears repeating here.) 17 18A security vulnerability affecting all Perl versions prior to 5.6.1 19was found in August 2000. The vulnerability does not affect default 20installations and as far as is known affects only the Linux platform. 21 22You should upgrade your Perl to 5.6.1 as soon as possible. Patches 23for earlier releases exist but using the patches require full 24recompilation from the source code anyway, so 5.6.1 is your best 25choice. 26 27See http://www.cpan.org/src/5.0/sperl-2000-08-05/sperl-2000-08-05.txt 28for more information. 29 30=head1 Incompatible Changes 31 32=head2 64-bit platforms and malloc 33 34If your pointers are 64 bits wide, the Perl malloc is no more being 35used because it simply does not work with 8-byte pointers. Also, 36usually the system malloc on such platforms are much better optimized 37for such large memory models than the Perl malloc. 38 39=head2 AIX Dynaloading 40 41The AIX dynaloading now uses in AIX releases 4.3 and newer the native 42dlopen interface of AIX instead of the old emulated interface. This 43change will probably break backward compatibility with compiled 44modules. The change was made to make Perl more compliant with other 45applications like modperl which are using the AIX native interface. 46 47=head2 Socket Extension Dynamic in VMS 48 49The Socket extension is now dynamically loaded instead of being 50statically built in. This may or may not be a problem with ancient 51TCP/IP stacks of VMS: we do not know since we weren't able to test 52Perl in such configurations. 53 54=head2 Different Definition of the Unicode Character Classes \p{In...} 55 56As suggested by the Unicode consortium, the Unicode character classes 57now prefer I<scripts> as opposed to I<blocks> (as defined by Unicode); 58in Perl, when the C<\p{In....}> and the C<\p{In....}> regular expression 59constructs are used. This has changed the definition of some of those 60character classes. 61 62The difference between scripts and blocks is that scripts are the 63glyphs used by a language or a group of languages, while the blocks 64are more artificial groupings of 256 characters based on the Unicode 65numbering. 66 67In general this change results in more inclusive Unicode character 68classes, but changes to the other direction also do take place: 69for example while the script C<Latin> includes all the Latin 70characters and their various diacritic-adorned versions, it 71does not include the various punctuation or digits (since they 72are not solely C<Latin>). 73 74Changes in the character class semantics may have happened if a script 75and a block happen to have the same name, for example C<Hebrew>. 76In such cases the script wins and C<\p{InHebrew}> now means the script 77definition of Hebrew. The block definition in still available, 78though, by appending C<Block> to the name: C<\p{InHebrewBlock}> means 79what C<\p{InHebrew}> meant in perl 5.6.0. For the full list 80of affected character classes, see L<perlunicode/Blocks>. 81 82=head2 Deprecations 83 84The current user-visible implementation of pseudo-hashes (the weird 85use of the first array element) is deprecated starting from Perl 5.8.0 86and will be removed in Perl 5.10.0, and the feature will be 87implemented differently. Not only is the current interface rather 88ugly, but the current implementation slows down normal array and hash 89use quite noticeably. The C<fields> pragma interface will remain 90available. 91 92The syntaxes C<< @a->[...] >> and C<< @h->{...} >> have now been deprecated. 93 94The suidperl is also considered to be too much a risk to continue 95maintaining and the suidperl code is likely to be removed in a future 96release. 97 98The C<package;> syntax (C<package> without an argument has been 99deprecated. Its semantics were never that clear and its 100implementation even less so. If you have used that feature to 101disallow all but fully qualified variables, C<use strict;> instead. 102 103The chdir(undef) and chdir('') behaviors to match chdir() has been 104deprecated. In future versions, chdir(undef) and chdir('') will 105simply fail. 106 107=head1 Core Enhancements 108 109In general a lot of fixing has happened in the area of Perl's 110understanding of numbers, both integer and floating point. Since in 111many systems the standard number parsing functions like C<strtoul()> 112and C<atof()> seem to have bugs, Perl tries to work around their 113deficiencies. This results hopefully in more accurate numbers. 114 115=over 4 116 117=item * 118 119The rules for allowing underscores (underbars) in numeric constants 120have been relaxed and simplified: now you can have an underscore 121B<between digits>. 122 123=item * 124 125GMAGIC (right-hand side magic) could in many cases such as string 126concatenation be invoked too many times. 127 128=item * 129 130Lexicals I: lexicals outside an eval "" weren't resolved 131correctly inside a subroutine definition inside the eval "" if they 132were not already referenced in the top level of the eval""ed code. 133 134=item * 135 136Lexicals II: lexicals leaked at file scope into subroutines that 137were declared before the lexicals. 138 139=item * 140 141Lvalue subroutines can now return C<undef> in list context. 142 143=item * 144 145The C<op_clear> and C<op_null> are now exported. 146 147=item * 148 149A new special regular expression variable has been introduced: 150C<$^N>, which contains the most-recently closed group (submatch). 151 152=item * 153 154L<utime> now supports C<utime undef, undef, @files> to change the 155file timestamps to the current time. 156 157=item * 158 159The Perl parser has been stress tested using both random input and 160Markov chain input. 161 162=item * 163 164C<eval "v200"> now works. 165 166=item * 167 168VMS now works under PerlIO. 169 170=item * 171 172END blocks are now run even if you exit/die in a BEGIN block. 173The execution of END blocks is now controlled by 174PL_exit_flags & PERL_EXIT_DESTRUCT_END. This enables the new 175behaviour for perl embedders. This will default in 5.10. See 176L<perlembed>. 177 178=back 179 180=head1 Modules and Pragmata 181 182=head2 New Modules and Distributions 183 184=over 4 185 186=item * 187 188L<Attribute::Handlers> - Simpler definition of attribute handlers 189 190=item * 191 192L<ExtUtils::Constant> - generate XS code to import C header constants 193 194=item * 195 196L<I18N::Langinfo> - query locale information 197 198=item * 199 200L<I18N::LangTags> - functions for dealing with RFC3066-style language tags 201 202=item * 203 204L<libnet> - a collection of perl5 modules related to network programming 205 206Perl installation leaves libnet unconfigured, use F<libnetcfg> to configure. 207 208=item * 209 210L<List::Util> - selection of general-utility list subroutines 211 212=item * 213 214L<Locale::Maketext> - framework for localization 215 216=item * 217 218L<Memoize> - Make your functions faster by trading space for time 219 220=item * 221 222L<NEXT> - pseudo-class for method redispatch 223 224=item * 225 226L<Scalar::Util> - selection of general-utility scalar subroutines 227 228=item * 229 230L<Test::More> - yet another framework for writing test scripts 231 232=item * 233 234L<Test::Simple> - Basic utilities for writing tests 235 236=item * 237 238L<Time::HiRes> - high resolution ualarm, usleep, and gettimeofday 239 240=item * 241 242L<Time::Piece> - Object Oriented time objects 243 244(Previously known as L<Time::Object>.) 245 246=item * 247 248L<Time::Seconds> - a simple API to convert seconds to other date values 249 250=item * 251 252L<UnicodeCD> - Unicode Character Database 253 254=back 255 256=head2 Updated And Improved Modules and Pragmata 257 258=over 4 259 260=item * 261 262L<B::Deparse> module has been significantly enhanced. It now 263can deparse almost all of the standard test suite (so that the 264tests still succeed). There is a make target "test.deparse" 265for trying this out. 266 267=item * 268 269L<Class::Struct> now assigns the array/hash element if the accessor 270is called with an array/hash element as the B<sole> argument. 271 272=item * 273 274L<Cwd> extension is now (even) faster. 275 276=item * 277 278L<DB_File> extension has been updated to version 1.77. 279 280=item * 281 282L<Fcntl>, L<Socket>, and L<Sys::Syslog> have been rewritten to use the 283new-style constant dispatch section (see L<ExtUtils::Constant>). 284 285=item * 286 287L<File::Find> is now (again) reentrant. It also has been made 288more portable. 289 290=item * 291 292L<File::Glob> now supports C<GLOB_LIMIT> constant to limit the 293size of the returned list of filenames. 294 295=item * 296 297L<IO::Socket::INET> now supports C<LocalPort> of zero (usually meaning 298that the operating system will make one up.) 299 300=item * 301 302The L<vars> pragma now supports declaring fully qualified variables. 303(Something that C<our()> does not and will not support.) 304 305=back 306 307=head1 Utility Changes 308 309=over 4 310 311=item * 312 313The F<emacs/e2ctags.pl> is now much faster. 314 315=item * 316 317L<h2ph> now supports C trigraphs. 318 319=item * 320 321L<h2xs> uses the new L<ExtUtils::Constant> module which will affect 322newly created extensions that define constants. Since the new code is 323more correct (if you have two constants where the first one is a 324prefix of the second one, the first constant B<never> gets defined), 325less lossy (it uses integers for integer constant, as opposed to the 326old code that used floating point numbers even for integer constants), 327and slightly faster, you might want to consider regenerating your 328extension code (the new scheme makes regenerating easy). 329L<h2xs> now also supports C trigraphs. 330 331=item * 332 333L<libnetcfg> has been added to configure the libnet. 334 335=item * 336 337The F<Pod::Html> (and thusly L<pod2html>) now allows specifying 338a cache directory. 339 340=back 341 342=head1 New Documentation 343 344=over 4 345 346=item * 347 348L<Locale::Maketext::TPJ13> is an article about software localization, 349originally published in The Perl Journal #13, republished here with 350kind permission. 351 352=item * 353 354More README.$PLATFORM files have been converted into pod, which also 355means that they also be installed as perl$PLATFORM documentation 356files. The new files are L<perlapollo>, L<perlbeos>, L<perldgux>, 357L<perlhurd>, L<perlmint>, L<perlnetware>, L<perlplan9>, L<perlqnx>, 358and L<perltru64>. 359 360=item * 361 362The F<Todo> and F<Todo-5.6> files have been merged into L<perltodo>. 363 364=item * 365 366Use of the F<gprof> tool to profile Perl has been documented in 367L<perlhack>. There is a make target "perl.gprof" for generating a 368gprofiled Perl executable. 369 370=back 371 372=head1 Installation and Configuration Improvements 373 374=head2 New Or Improved Platforms 375 376=over 4 377 378=item * 379 380AIX should now work better with gcc, threads, and 64-bitness. Also the 381long doubles support in AIX should be better now. See L<perlaix>. 382 383=item * 384 385AtheOS ( http://www.atheos.cx/ ) is a new platform. 386 387=item * 388 389DG/UX platform now supports the 5.005-style threads. See L<perldgux>. 390 391=item * 392 393DYNIX/ptx platform (a.k.a. dynixptx) is supported at or near osvers 4.5.2. 394 395=item * 396 397Several Mac OS (Classic) portability patches have been applied. We 398hope to get a fully working port by 5.8.0. (The remaining problems 399relate to the changed IO model of Perl.) See L<perlmacos>. 400 401=item * 402 403Mac OS X (or Darwin) should now be able to build Perl even on HFS+ 404filesystems. (The case-insensitivity confused the Perl build process.) 405 406=item * 407 408NetWare from Novell is now supported. See L<perlnetware>. 409 410=item * 411 412The Amdahl UTS UNIX mainframe platform is now supported. 413 414=back 415 416=head2 Generic Improvements 417 418=over 4 419 420=item * 421 422In AFS installations one can configure the root of the AFS to be 423somewhere else than the default F</afs> by using the Configure 424parameter C<-Dafsroot=/some/where/else>. 425 426=item * 427 428The version of Berkeley DB used when the Perl (and, presumably, the 429DB_File extension) was built is now available as 430C<@Config{qw(db_version_major db_version_minor db_version_patch)}> 431from Perl and as C<DB_VERSION_MAJOR_CFG DB_VERSION_MINOR_CFG 432DB_VERSION_PATCH_CFG> from C. 433 434=item * 435 436The Thread extension is now not built at all under ithreads 437(C<Configure -Duseithreads>) because it wouldn't work anyway (the 438Thread extension requires being Configured with C<-Duse5005threads>). 439 440=item * 441 442The C<B::Deparse> compiler backend has been so significantly improved 443that almost the whole Perl test suite passes after being deparsed. A 444make target has been added to help in further testing: C<make test.deparse>. 445 446=back 447 448=head1 Selected Bug Fixes 449 450=over 5 451 452=item * 453 454The autouse pragma didn't work for Multi::Part::Function::Names. 455 456=item * 457 458The behaviour of non-decimal but numeric string constants such as 459"0x23" was platform-dependent: in some platforms that was seen as 35, 460in some as 0, in some as a floating point number (don't ask). This 461was caused by Perl using the operating system libraries in a situation 462where the result of the string to number conversion is undefined: now 463Perl consistently handles such strings as zero in numeric contexts. 464 465=item * 466 467L<dprofpp> -R didn't work. 468 469=item * 470 471PERL5OPT with embedded spaces didn't work. 472 473=item * 474 475L<Sys::Syslog> ignored the C<LOG_AUTH> constant. 476 477=back 478 479=head2 Platform Specific Changes and Fixes 480 481=over 4 482 483=item * 484 485Some versions of glibc have a broken modfl(). This affects builds 486with C<-Duselongdouble>. This version of Perl detects this brokenness 487and has a workaround for it. The glibc release 2.2.2 is known to have 488fixed the modfl() bug. 489 490=back 491 492=head1 New or Changed Diagnostics 493 494=over 4 495 496=item * 497 498In the regular expression diagnostics the C<E<lt>E<lt> HERE> marker 499introduced in 5.7.0 has been changed to be C<E<lt>-- HERE> since too 500many people found the C<E<lt>E<lt>> to be too similar to here-document 501starters. 502 503=item * 504 505If you try to L<perlfunc/pack> a number less than 0 or larger than 255 506using the C<"C"> format you will get an optional warning. Similarly 507for the C<"c"> format and a number less than -128 or more than 127. 508 509=item * 510 511Certain regex modifiers such as C<(?o)> make sense only if applied to 512the entire regex. You will an optional warning if you try to do otherwise. 513 514=item * 515 516Using arrays or hashes as references (e.g. C<< %foo->{bar} >> has been 517deprecated for a while. Now you will get an optional warning. 518 519=back 520 521=head1 Source Code Enhancements 522 523=head2 MAGIC constants 524 525The MAGIC constants (e.g. C<'P'>) have been macrofied 526(e.g. C<PERL_MAGIC_TIED>) for better source code readability 527and maintainability. 528 529=head2 Better commented code 530 531F<perly.c>, F<sv.c>, and F<sv.h> have now been extensively commented. 532 533=head2 Regex pre-/post-compilation items matched up 534 535The regex compiler now maintains a structure that identifies nodes in 536the compiled bytecode with the corresponding syntactic features of the 537original regex expression. The information is attached to the new 538C<offsets> member of the C<struct regexp>. See L<perldebguts> for more 539complete information. 540 541=head2 gcc -Wall 542 543The C code has been made much more C<gcc -Wall> clean. Some warning 544messages still remain, though, so if you are compiling with gcc you 545will see some warnings about dubious practices. The warnings are 546being worked on. 547 548=head1 New Tests 549 550Several new tests have been added, especially for the F<lib> subsection. 551 552The tests are now reported in a different order than in earlier Perls. 553(This happens because the test scripts from under t/lib have been moved 554to be closer to the library/extension they are testing.) 555 556=head1 Known Problems 557 558Note that unlike other sections in this document (which describe 559changes since 5.7.0) this section is cumulative containing known 560problems for all the 5.7 releases. 561 562=head2 AIX 563 564=over 4 565 566=item * 567 568In AIX 4.2 Perl extensions that use C++ functions that use statics 569may have problems in that the statics are not getting initialized. 570In newer AIX releases this has been solved by linking Perl with 571the libC_r library, but unfortunately in AIX 4.2 the said library 572has an obscure bug where the various functions related to time 573(such as time() and gettimeofday()) return broken values, and 574therefore in AIX 4.2 Perl is not linked against the libC_r. 575 576=item * 577 578vac 5.0.0.0 May Produce Buggy Code For Perl 579 580The AIX C compiler vac version 5.0.0.0 may produce buggy code, 581resulting in few random tests failing, but when the failing tests 582are run by hand, they succeed. We suggest upgrading to at least 583vac version 5.0.1.0, that has been known to compile Perl correctly. 584"lslpp -L|grep vac.C" will tell you the vac version. 585 586=back 587 588=head2 Amiga Perl Invoking Mystery 589 590One cannot call Perl using the C<volume:> syntax, that is, C<perl -v> 591works, but for example C<bin:perl -v> doesn't. The exact reason is 592known but the current suspect is the F<ixemul> library. 593 594=head2 lib/ftmp-security tests warn 'system possibly insecure' 595 596Don't panic. Read INSTALL 'make test' section instead. 597 598=head2 Cygwin intermittent failures of lib/Memoize/t/expire_file 11 and 12 599 600The subtests 11 and 12 sometimes fail and sometimes work. 601 602=head2 HP-UX lib/io_multihomed Fails When LP64-Configured 603 604The lib/io_multihomed test may hang in HP-UX if Perl has been 605configured to be 64-bit. Because other 64-bit platforms do not hang in 606this test, HP-UX is suspect. All other tests pass in 64-bit HP-UX. The 607test attempts to create and connect to "multihomed" sockets (sockets 608which have multiple IP addresses). 609 610=head2 HP-UX lib/posix Subtest 9 Fails When LP64-Configured 611 612If perl is configured with -Duse64bitall, the successful result of the 613subtest 10 of lib/posix may arrive before the successful result of the 614subtest 9, which confuses the test harness so much that it thinks the 615subtest 9 failed. 616 617=head2 Linux With Sfio Fails op/misc Test 48 618 619No known fix. 620 621=head2 OS/390 622 623OS/390 has rather many test failures but the situation is actually 624better than it was in 5.6.0, it's just that so many new modules and 625tests have been added. 626 627 Failed Test Stat Wstat Total Fail Failed List of Failed 628 ----------------------------------------------------------------------------- 629 ../ext/B/Deparse.t 14 1 7.14% 14 630 ../ext/B/Showlex.t 1 1 100.00% 1 631 ../ext/Encode/Encode/Tcl.t 610 13 2.13% 592 594 596 598 632 600 602 604-610 633 ../ext/IO/lib/IO/t/io_unix.t 113 28928 5 3 60.00% 3-5 634 ../ext/POSIX/POSIX.t 29 1 3.45% 14 635 ../ext/Storable/t/lock.t 255 65280 5 3 60.00% 3-5 636 ../lib/locale.t 129 33024 117 19 16.24% 99-117 637 ../lib/warnings.t 434 1 0.23% 75 638 ../lib/ExtUtils.t 27 1 3.70% 25 639 ../lib/Math/BigInt/t/bigintpm.t 1190 1 0.08% 1145 640 ../lib/Unicode/UCD.t 81 48 59.26% 1-16 49-64 66-81 641 ../lib/User/pwent.t 9 1 11.11% 4 642 op/pat.t 660 6 0.91% 242-243 424-425 643 626-627 644 op/split.t 0 9 ?? ?? % ?? 645 op/taint.t 174 3 1.72% 156 162 168 646 op/tr.t 70 3 4.29% 50 58-59 647 Failed 16/422 test scripts, 96.21% okay. 105/23251 subtests failed, 99.55% okay. 648 649=head2 op/sprintf tests 129 and 130 650 651The op/sprintf tests 129 and 130 are known to fail on some platforms. 652Examples include any platform using sfio, and Compaq/Tandem's NonStop-UX. 653The failing platforms do not comply with the ANSI C Standard, line 65419ff on page 134 of ANSI X3.159 1989 to be exact. (They produce 655something other than "1" and "-1" when formatting 0.6 and -0.6 using 656the printf format "%.0f", most often they produce "0" and "-0".) 657 658=head2 Failure of Thread tests 659 660B<Note that support for 5.005-style threading remains experimental.> 661 662The following tests are known to fail due to fundamental problems in 663the 5.005 threading implementation. These are not new failures--Perl 6645.005_0x has the same bugs, but didn't have these tests. 665 666 lib/autouse.t 4 667 t/lib/thr5005.t 19-20 668 669=head2 UNICOS 670 671=over 4 672 673=item * 674 675ext/POSIX/sigaction subtests 6 and 13 may fail. 676 677=item * 678 679lib/ExtUtils may spuriously claim that subtest 28 failed, 680which is interesting since the test only has 27 tests. 681 682=item * 683 684Numerous numerical test failures 685 686 op/numconvert 209,210,217,218 687 op/override 7 688 ext/Time/HiRes/HiRes 9 689 lib/Math/BigInt/t/bigintpm 1145 690 lib/Math/Trig 25 691 692These tests fail because of yet unresolved floating point inaccuracies. 693 694=back 695 696=head2 UTS 697 698There are a few known test failures, see L<perluts>. 699 700=head2 VMS 701 702Rather many tests are failing in VMS but that actually more tests 703succeed in VMS than they used to, it's just that there are many, 704many more tests than there used to be. 705 706Here are the known failures from some compiler/platform combinations. 707 708DEC C V5.3-006 on OpenVMS VAX V6.2 709 710 [-.ext.list.util.t]tainted..............FAILED on test 3 711 [-.ext.posix]sigaction..................FAILED on test 7 712 [-.ext.time.hires]hires.................FAILED on test 14 713 [-.lib.file.find]taint..................FAILED on test 17 714 [-.lib.math.bigint.t]bigintpm...........FAILED on test 1183 715 [-.lib.test.simple.t]exit...............FAILED on test 1 716 [.lib]vmsish............................FAILED on test 13 717 [.op]sprintf............................FAILED on test 12 718 Failed 8/399 tests, 91.23% okay. 719 720DEC C V6.0-001 on OpenVMS Alpha V7.2-1 and 721Compaq C V6.2-008 on OpenVMS Alpha V7.1 722 723 [-.ext.list.util.t]tainted..............FAILED on test 3 724 [-.lib.file.find]taint..................FAILED on test 17 725 [-.lib.test.simple.t]exit...............FAILED on test 1 726 [.lib]vmsish............................FAILED on test 13 727 Failed 4/399 tests, 92.48% okay. 728 729Compaq C V6.4-005 on OpenVMS Alpha 7.2.1 730 731 [-.ext.b]showlex........................FAILED on test 1 732 [-.ext.list.util.t]tainted..............FAILED on test 3 733 [-.lib.file.find]taint..................FAILED on test 17 734 [-.lib.test.simple.t]exit...............FAILED on test 1 735 [.lib]vmsish............................FAILED on test 13 736 [.op]misc...............................FAILED on test 49 737 Failed 6/401 tests, 92.77% okay. 738 739=head2 Win32 740 741In multi-CPU boxes there are some problems with the I/O buffering: 742some output may appear twice. 743 744=head2 Localising a Tied Variable Leaks Memory 745 746 use Tie::Hash; 747 tie my %tie_hash => 'Tie::StdHash'; 748 749 ... 750 751 local($tie_hash{Foo}) = 1; # leaks 752 753Code like the above is known to leak memory every time the local() 754is executed. 755 756=head2 Self-tying of Arrays and Hashes Is Forbidden 757 758Self-tying of arrays and hashes is broken in rather deep and 759hard-to-fix ways. As a stop-gap measure to avoid people from getting 760frustrated at the mysterious results (core dumps, most often) it is 761for now forbidden (you will get a fatal error even from an attempt). 762 763=head2 Variable Attributes are not Currently Usable for Tieing 764 765This limitation will hopefully be fixed in future. (Subroutine 766attributes work fine for tieing, see L<Attribute::Handlers>). 767 768=head2 Building Extensions Can Fail Because Of Largefiles 769 770Some extensions like mod_perl are known to have issues with 771`largefiles', a change brought by Perl 5.6.0 in which file offsets 772default to 64 bits wide, where supported. Modules may fail to compile 773at all or compile and work incorrectly. Currently there is no good 774solution for the problem, but Configure now provides appropriate 775non-largefile ccflags, ldflags, libswanted, and libs in the %Config 776hash (e.g., $Config{ccflags_nolargefiles}) so the extensions that are 777having problems can try configuring themselves without the 778largefileness. This is admittedly not a clean solution, and the 779solution may not even work at all. One potential failure is whether 780one can (or, if one can, whether it's a good idea) link together at 781all binaries with different ideas about file offsets, all this is 782platform-dependent. 783 784=head2 The Compiler Suite Is Still Experimental 785 786The compiler suite is slowly getting better but is nowhere near 787working order yet. 788 789=head2 The Long Double Support is Still Experimental 790 791The ability to configure Perl's numbers to use "long doubles", 792floating point numbers of hopefully better accuracy, is still 793experimental. The implementations of long doubles are not yet 794widespread and the existing implementations are not quite mature 795or standardised, therefore trying to support them is a rare 796and moving target. The gain of more precision may also be offset 797by slowdown in computations (more bits to move around, and the 798operations are more likely to be executed by less optimised 799libraries). 800 801=head1 Reporting Bugs 802 803If you find what you think is a bug, you might check the articles 804recently posted to the comp.lang.perl.misc newsgroup and the perl 805bug database at http://bugs.perl.org/ There may also be 806information at http://www.perl.com/perl/ , the Perl Home Page. 807 808If you believe you have an unreported bug, please run the B<perlbug> 809program included with your release. Be sure to trim your bug down 810to a tiny but sufficient test case. Your bug report, along with the 811output of C<perl -V>, will be sent off to perlbug@perl.org to be 812analysed by the Perl porting team. 813 814=head1 SEE ALSO 815 816The F<Changes> file for exhaustive details on what changed. 817 818The F<INSTALL> file for how to build Perl. 819 820The F<README> file for general stuff. 821 822The F<Artistic> and F<Copying> files for copyright information. 823 824=head1 HISTORY 825 826Written by Jarkko Hietaniemi <F<jhi@iki.fi>>, with many contributions 827from The Perl Porters and Perl Users submitting feedback and patches. 828 829Send omissions or corrections to <F<perlbug@perl.org>>. 830 831=cut 832