{
    "mode": "perldoc",
    "parameter": "Config::Perl::V",
    "section": "",
    "url": "https://www.chedong.com/phpMan.php/perldoc/Config%3A%3APerl%3A%3AV/json",
    "generated": "2026-06-10T15:11:13Z",
    "synopsis": "use Config::Perl::V;\nmy $localconfig = Config::Perl::V::myconfig ();\nprint $localconfig->{config}{osname};",
    "sections": {
        "NAME": {
            "content": "Config::Perl::V - Structured data retrieval of perl -V output\n",
            "subsections": []
        },
        "SYNOPSIS": {
            "content": "use Config::Perl::V;\n\nmy $localconfig = Config::Perl::V::myconfig ();\nprint $localconfig->{config}{osname};\n",
            "subsections": []
        },
        "DESCRIPTION": {
            "content": "$conf = myconfig ()\nThis function will collect the data described in \"The hash structure\" below, and return that as\na hash reference. It optionally accepts an option to include more entries from %ENV. See\n\"environment\" below.\n\nNote that this will not work on uninstalled perls when called with\n\"-I/path/to/uninstalled/perl/lib\", but it works when that path is in $PERL5LIB or in $PERL5OPT,\nas paths passed using \"-I\" are not known when the \"-V\" information is collected.\n\n$conf = plv2hash ($text [, ...])\nConvert a sole 'perl -V' text block, or list of lines, to a complete myconfig hash. All unknown\nentries are defaulted.\n\n$info = summary ([$conf])\nReturn an arbitrary selection of the information. If no $conf is given, \"myconfig ()\" is used\ninstead.\n\n$md5 = signature ([$conf])\nReturn the MD5 of the info returned by \"summary ()\" without the \"configargs\" entry.\n\nIf \"Digest::MD5\" is not available, it return a string with only 0's.\n",
            "subsections": [
                {
                    "name": "The hash structure",
                    "content": "The returned hash consists of 4 parts:\n\nbuild\nThis information is extracted from the second block that is emitted by \"perl -V\", and\nusually looks something like\n\nCharacteristics of this binary (from libperl):\nCompile-time options: DEBUGGING USE64BITINT USELARGEFILES\nLocally applied patches:\ndefined-or\nMAINT24637\nBuilt under linux\nCompiled at Jun 13 2005 10:44:20\n@INC:\n/usr/lib/perl5/5.8.7/i686-linux-64int\n/usr/lib/perl5/5.8.7\n/usr/lib/perl5/siteperl/5.8.7/i686-linux-64int\n/usr/lib/perl5/siteperl/5.8.7\n/usr/lib/perl5/siteperl\n.\n\nor\n\nCharacteristics of this binary (from libperl):\nCompile-time options: DEBUGGING MULTIPLICITY\nPERLDONTCREATEGVSV PERLIMPLICITCONTEXT\nPERLMALLOCWRAP PERLTRACKMEMPOOL\nPERLUSESAFEPUTENV USEITHREADS\nUSELARGEFILES USEPERLIO\nUSEREENTRANTAPI\nBuilt under linux\nCompiled at Jan 28 2009 15:26:59\n\nThis information is not available anywhere else, including %Config, but it is the\ninformation that is only known to the perl binary.\n\nThe extracted information is stored in 5 entries in the \"build\" hash:\n\nosname\nThis is most likely the same as $Config{osname}, and was the name known when perl was\nbuilt. It might be different if perl was cross-compiled.\n\nThe default for this field, if it cannot be extracted, is to copy $Config{osname}. The\ntwo may be differing in casing (OpenBSD vs openbsd).\n\nstamp\nThis is the time string for which the perl binary was compiled. The default value is 0.\n\noptions\nThis is a hash with all the known defines as keys. The value is either 0, which means\nunknown or unset, or 1, which means defined.\n\nderived\nAs some variables are reported by a different name in the output of \"perl -V\" than their\nactual name in %Config, I decided to leave the \"config\" entry as close to reality as\npossible, and put in the entries that might have been guessed by the printed output in a\nseparate block.\n\npatches\nThis is a list of optionally locally applied patches. Default is an empty list.\n\nenvironment\nBy default this hash is only filled with the environment variables out of %ENV that start\nwith \"PERL\", but you can pass the \"env\" option to myconfig to get more\n\nmy $conf = Config::Perl::V::myconfig ({ env => qr/^ORACLE/ });\nmy $conf = Config::Perl::V::myconfig ([ env => qr/^ORACLE/ ]);\n\nconfig\nThis hash is filled with the variables that \"perl -V\" fills its report with, and it has the\nsame variables that \"Config::myconfig\" returns from %Config.\n\ninc This is the list of default @INC.\n"
                }
            ]
        },
        "REASONING": {
            "content": "This module was written to be able to return the configuration for the currently used perl as\ndeeply as needed for the CPANTESTERS framework. Up until now they used the output of myconfig as\na single text blob, and so it was missing the vital binary characteristics of the running perl\nand the optional applied patches.\n",
            "subsections": []
        },
        "BUGS": {
            "content": "Please feedback what is wrong\n",
            "subsections": []
        },
        "TODO": {
            "content": "* Implement retrieval functions/methods\n* Documentation\n* Error checking\n* Tests\n",
            "subsections": []
        },
        "AUTHOR": {
            "content": "H.Merijn Brand <h.m.brand@xs4all.nl>\n",
            "subsections": []
        },
        "COPYRIGHT AND LICENSE": {
            "content": "Copyright (C) 2009-2020 H.Merijn Brand\n\nThis library is free software; you can redistribute it and/or modify it under the same terms as\nPerl itself.\n",
            "subsections": []
        }
    },
    "summary": "Config::Perl::V - Structured data retrieval of perl -V output",
    "flags": [],
    "examples": [],
    "see_also": []
}