{
    "mode": "man",
    "parameter": "PERL5122DELTA",
    "section": "1",
    "url": "https://www.chedong.com/phpMan.php/man/PERL5122DELTA/1/json",
    "generated": "2026-10-09T18:33:52Z",
    "sections": {
        "NAME": {
            "content": "perl5122delta - what is new for perl v5.12.2\n",
            "subsections": []
        },
        "DESCRIPTION": {
            "content": "This document describes differences between the 5.12.1 release and the 5.12.2 release.\n\nIf you are upgrading from an earlier major version, such as 5.10.1, first read perl5120delta,\nwhich describes differences between 5.10.0 and 5.12.0, as well as perl5121delta, which\ndescribes earlier changes in the 5.12 stable release series.\n",
            "subsections": []
        },
        "Incompatible Changes": {
            "content": "There are no changes intentionally incompatible with 5.12.1. If any exist, they are bugs and\nreports are welcome.\n",
            "subsections": []
        },
        "Core Enhancements": {
            "content": "Other than the bug fixes listed below, there should be no user-visible changes to the core\nlanguage in this release.\n",
            "subsections": []
        },
        "Modules and Pragmata": {
            "content": "",
            "subsections": [
                {
                    "name": "New Modules and Pragmata",
                    "content": "This release does not introduce any new modules or pragmata.\n"
                },
                {
                    "name": "Pragmata Changes",
                    "content": "In the previous release, \"no VERSION;\" statements triggered a bug which could cause feature\nbundles to be loaded and strict mode to be enabled unintentionally.\n"
                },
                {
                    "name": "Updated Modules",
                    "content": "\"Carp\"\nUpgraded from version 1.16 to 1.17.\n\nCarp  now  detects  incomplete  caller()  overrides  and avoids using bogus @DB::args. To\nprovide backtraces, Carp relies on particular behaviour of the caller built-in. Carp  now\ndetects if other code has overridden this with an incomplete implementation, and modifies\nits  backtrace  accordingly. Previously incomplete overrides would cause incorrect values\nin backtraces (best case), or obscure fatal errors (worst case)\n\nThis fixes certain cases of \"Bizarre copy of ARRAY\" caused by modules overriding caller()\nincorrectly.\n\n\"CPANPLUS\"\nA patch to cpanp-run-perl has been backported from  CPANPLUS  0.9004.  This  resolves  RT\n#55964     <http://rt.cpan.org/Public/Bug/Display.html?id=55964>     and     RT    #57106\n<http://rt.cpan.org/Public/Bug/Display.html?id=57106>, both of which related to  failures\nto install distributions that use \"Module::Install::DSL\".\n\n\"File::Glob\"\nA   regression  which  caused  a  failure  to  find  \"CORE::GLOBAL::glob\"  after  loading\n\"File::Glob\" to crash has been fixed.  Now, it correctly falls back to external  globbing\nvia \"ppglob\".\n\n\"File::Copy\"\n\"File::Copy::copy(FILE, DIR)\" is now documented.\n\n\"File::Spec\"\nUpgraded from version 3.31 to 3.3101.\n\nSeveral  portability fixes were made in \"File::Spec::VMS\": a colon is now recognized as a\ndelimiter in  native  filespecs;  caret-escaped  delimiters  are  recognized  for  better\nhandling  of  extended  filespecs;  catpath()  returns an empty directory rather than the\ncurrent directory if the input directory name is empty; abs2rel() properly handles  Unix-\nstyle input.\n"
                }
            ]
        },
        "Utility Changes": {
            "content": "•   perlbug now always gives the reporter a chance to change the email address it guesses for\nthem.\n\n•   perlbug  should  no  longer  warn about uninitialized values when using the \"-d\" and \"-v\"\noptions.\n",
            "subsections": []
        },
        "Changes to Existing Documentation": {
            "content": "•   The  existing  policy  on  backward-compatibility  and  deprecation  has  been  added  to\nperlpolicy, along with definitions of terms like deprecation.\n\n•   \"srand\" in perlfunc's usage has been clarified.\n\n•   The  entry  for  \"die\" in perlfunc was reorganized to emphasize its role in the exception\nmechanism.\n\n•   Perl's INSTALL file has been clarified to explicitly  state  that  Perl  requires  a  C89\ncompliant ANSI C Compiler.\n\n•   IO::Socket's getsockopt() and setsockopt() have been documented.\n\n•   alarm()'s inability to interrupt blocking IO on Windows has been documented.\n\n•   Math::TrulyRandom  hasn't  been  updated since 1996 and has been removed as a recommended\nsolution for random number generation.\n\n•   perlrun has been updated to clarify the behaviour of octal flags to perl.\n\n•   To ease user confusion, $# and $*, two special variables that  were  removed  in  earlier\nversions of Perl have been documented.\n\n•   The  version of perlfaq shipped with the Perl core has been updated from the official FAQ\nversion, which is now maintained in the \"briandfoy/perlfaq\" branch of the Perl repository\nat <git://perl5.git.perl.org/perl.git>.\n",
            "subsections": []
        },
        "Installation and Configuration Improvements": {
            "content": "",
            "subsections": [
                {
                    "name": "Configuration improvements",
                    "content": "•   The \"du32align\" configuration probe on ARM has been fixed.\n"
                },
                {
                    "name": "Compilation improvements",
                    "content": "•   An \"\"incompatible operand types\"\" error in ternary expressions when building with \"clang\"\nhas been fixed.\n\n•   Perl now skips setuid \"File::Copy\" tests on  partitions  it  detects  to  be  mounted  as\n\"nosuid\".\n"
                }
            ]
        },
        "Selected Bug Fixes": {
            "content": "•   A possible segfault in the \"TPRTOBJ\" default typemap has been fixed.\n\n•   A possible memory leak when using caller() to set @DB::args has been fixed.\n\n•   Several memory leaks when loading XS modules were fixed.\n\n•   unpack()  now  handles  scalar  context  correctly  for %32H and %32u, fixing a potential\ncrash.  split() would crash because the third  item  on  the  stack  wasn't  the  regular\nexpression  it  expected.  \"unpack(\"%2H\", ...)\" would return both the unpacked result and\nthe  checksum   on   the   stack,   as   would   \"unpack(\"%2u\",   ...)\".    [GH   #10257]\n<https://github.com/Perl/perl5/issues/10257>\n\n•   Perl  now  avoids using memory after calling free() in pprequire when there are CODEREFs\nin @INC.\n\n•   A bug that could cause \"\"Unknown  error\"\"  messages  when  \"\"callsv(code,  GEVAL)\"\"  is\ncalled from an XS destructor has been fixed.\n\n•   The implementation of the \"open $fh, '>' \\$buffer\" feature now supports get/set magic and\nthus tied buffers correctly.\n\n•   The  \"ppgetc\",  \"pptell\",  and  \"ppeof\"  opcodes  now make room on the stack for their\nreturn values in cases where no argument was passed in.\n\n•   When matching unicode strings under  some  conditions  inappropriate  backtracking  would\nresult  in a \"Malformed UTF-8 character (fatal)\" error. This should no longer occur.  See\n[GH #10434] <https://github.com/Perl/perl5/issues/10434>\n",
            "subsections": []
        },
        "Platform Specific Notes": {
            "content": "AIX\n•   README.aix has been updated with information about the XL C/C++ V11 compiler suite.\n",
            "subsections": [
                {
                    "name": "Windows",
                    "content": "•   When building Perl with the mingw64 x64 cross-compiler  \"incpath\",  \"libpth\",  \"ldflags\",\n\"lddlflags\"  and  \"ldflagsnolargefiles\" values in Config.pm and Configheavy.pl were not\npreviously being  set  correctly  because,  with  that  compiler,  the  include  and  lib\ndirectories are not immediately below \"$(CCHOME)\".\n\nVMS\n•   gitversion.h is now installed on VMS. This was an oversight in v5.12.0 which caused some\nextensions to fail to build.\n\n•   Several memory leaks in stat() have been fixed.\n\n•   A memory leak in Perlrename() due to a double allocation has been fixed.\n\n•   A memory leak in vmsfidtoname() (used by realpath() and realname()) has been fixed.\n"
                }
            ]
        },
        "Acknowledgements": {
            "content": "Perl  5.12.2  represents  approximately  three  months  of  development since Perl 5.12.1 and\ncontains approximately 2,000 lines of changes across 100 files from 36 authors.\n\nPerl continues to flourish into its third decade thanks to a vibrant community of  users  and\ndevelopers.   The following people are known to have contributed the improvements that became\nPerl 5.12.2:\n\nAbigail, Ævar Arnfjörð Bjarmason, Ben Morrow, brian d foy, Brian Phillips, Chas. Owens, Chris\n'BinGOs' Williams, Chris Williams, Craig A.  Berry,  Curtis  Jewell,  Dan  Dascalescu,  David\nGolden,  David  Mitchell, Father Chrysostomos, Florian Ragwitz, George Greer, H.Merijn Brand,\nJan Dubois, Jesse Vincent, Jim Cromie, Karl Williamson, Lars Dɪᴇᴄᴋᴏᴡ 迪拉斯, Leon Brocard,  Maik\nHentsche,  Matt S Trout, Nicholas Clark, Rafael Garcia-Suarez, Rainer Tammer, Ricardo Signes,\nSalvador Ortiz Garcia, Sisyphus, Slaven Rezic, Steffen Mueller, Tony Cook,  Vincent  Pit  and\nYves Orton.\n",
            "subsections": []
        },
        "Reporting Bugs": {
            "content": "If  you  find  what  you  think is a bug, you might check the articles recently posted to the\ncomp.lang.perl.misc newsgroup and the perl  bug  database  at  http://rt.perl.org/perlbug/  .\nThere may also be information at http://www.perl.org/ , the Perl Home Page.\n\nIf  you believe you have an unreported bug, please run the perlbug program included with your\nrelease.  Be sure to trim your bug down to a tiny but sufficient test case.  Your bug report,\nalong with the output of \"perl -V\", will be sent off to perlbug@perl.org to  be  analysed  by\nthe Perl porting team.\n\nIf  the  bug you are reporting has security implications, which make it inappropriate to send\nto a publicly archived mailing list, then please send it  to  perl5-security-report@perl.org.\nThis  points  to  a  closed subscription unarchived mailing list, which includes all the core\ncommitters, who will be able to help assess the impact of issues, figure  out  a  resolution,\nand  help  co-ordinate  the  release  of  patches  to  mitigate or fix the problem across all\nplatforms on which Perl is supported. Please only use this address for security issues in the\nPerl core, not for modules independently distributed on CPAN.\n",
            "subsections": []
        },
        "SEE ALSO": {
            "content": "The Changes file for an explanation of how to view exhaustive details on what changed.\n\nThe INSTALL file for how to build Perl.\n\nThe README file for general stuff.\n\nThe Artistic and Copying files for copyright information.\n\nperl v5.38.2                                 2026-08-18                             PERL5122DELTA(1)",
            "subsections": []
        }
    },
    "summary": "perl5122delta - what is new for perl v5.12.2",
    "flags": [],
    "examples": [],
    "see_also": []
}