Provided by: libmodule-corelist-perl_3.04-1_all bug

NAME

       Module::CoreList - what modules shipped with versions of perl

SYNOPSIS

        use Module::CoreList;

        print $Module::CoreList::version{5.00503}{CPAN}; # prints 1.48

        print Module::CoreList->first_release('File::Spec');         # prints 5.00405
        print Module::CoreList->first_release_by_date('File::Spec'); # prints 5.005
        print Module::CoreList->first_release('File::Spec', 0.82);   # prints 5.006001

        if (Module::CoreList::is_core('File::Spec')) {
          print "File::Spec is a core module\n";
        }

        print join ', ', Module::CoreList->find_modules(qr/Data/);
           # prints 'Data::Dumper'
        print join ', ', Module::CoreList->find_modules(qr/test::h.*::.*s/i, 5.008008);
           # prints 'Test::Harness::Assert, Test::Harness::Straps'

        print join ", ", @{ $Module::CoreList::families{5.005} };
           # prints "5.005, 5.00503, 5.00504"

DESCRIPTION

       Module::CoreList provides information on which core and dual-life modules shipped with each version of
       perl.

       It provides a number of mechanisms for querying this information.

       There is a utility called corelist provided with this module which is a convenient way of querying from
       the command-line.

       There is a functional programming API available for programmers to query information.

       Programmers may also query the contained hash structures to find relevant information.

FUNCTIONS API

       These are the functions that are available, they may either be called as functions or class methods:

         Module::CoreList::first_release('File::Spec'); # as a function

         Module::CoreList->first_release('File::Spec'); # class method

       "first_release( MODULE )"
           Behaviour since version 2.11

           Requires  a  MODULE  name as an argument, returns the perl version when that module first appeared in
           core as ordered by perl version number or undef ( in scalar context ) or an  empty  list  (  in  list
           context ) if that module is not in core.

       "first_release_by_date( MODULE )"
           Requires  a  MODULE  name as an argument, returns the perl version when that module first appeared in
           core as ordered by release date or undef ( in scalar context ) or an empty list ( in list  context  )
           if that module is not in core.

       "find_modules( REGEX, [ LIST OF PERLS ] )"
           Takes  a regex as an argument, returns a list of modules that match the regex given.  If only a regex
           is provided applies to all modules in all perl versions. Optionally you may provide a  list  of  perl
           versions to limit the regex search.

       "find_version( PERL_VERSION )"
           Takes a perl version as an argument. Returns that perl version if it exists or "undef" otherwise.

       "is_core( MODULE, [ MODULE_VERSION, [ PERL_VERSION ] ] )"
           Available in version 2.99 and above.

           Returns  true if MODULE was bundled with the specified version of Perl.  You can optionally specify a
           minimum version of the module, and can also specify a version of Perl.  If a version  of  Perl  isn't
           specified, "is_core()" will use the version of Perl that is running (ie $^V).

           If  you  want  to  specify  the version of Perl, but don't care about the version of the module, pass
           "undef" for the module version:

       "is_deprecated( MODULE, PERL_VERSION )"
           Available in version 2.22 and above.

           Returns true if MODULE is marked as deprecated in  PERL_VERSION.   If  PERL_VERSION  is  omitted,  it
           defaults to the current version of Perl.

       "deprecated_in( MODULE )"
           Available in version 2.77 and above.

           Returns  the  first  PERL_VERSION  where  the MODULE was marked as deprecated. Returns "undef" if the
           MODULE has not been marked as deprecated.

       "removed_from( MODULE )"
           Available in version 2.32 and above

           Takes a module name as an argument, returns the first perl version where that module was removed from
           core. Returns undef if the given module was never in core or remains in core.

       "removed_from_by_date( MODULE )"
           Available in version 2.32 and above

           Takes a module name as an argument, returns the first perl version by release date where that  module
           was removed from core. Returns undef if the given module was never in core or remains in core.

       "changes_between( PERL_VERSION, PERL_VERSION )"
           Available in version 2.66 and above.

           Given  two  perl versions, this returns a list of pairs describing the changes in core module content
           between them.  The list is suitable for storing in a hash.  The keys are library names and the values
           are hashrefs.  Each hashref has an entry for one or both of "left" and "right", giving  the  versions
           of the library in each of the left and right perl distributions.

           For  example,  it  might  return  these  data  (among others) for the difference between 5.008000 and
           5.008001:

             'Pod::ParseLink'  => { left => '1.05', right => '1.06' },
             'Pod::ParseUtils' => { left => '0.22', right => '0.3'  },
             'Pod::Perldoc'    => {                 right => '3.10' },
             'Pod::Perldoc::BaseTo' => {            right => undef  },

           This shows us two libraries being updated and two being added, one of which has an undefined  version
           in the right-hand side version.

DATA STRUCTURES

       These are the hash data structures that are available:

       %Module::CoreList::version
           A  hash  of hashes that is keyed on perl version as indicated in $].  The second level hash is module
           => version pairs.

           Note, it is possible for the version of a module to be unspecified, whereby the value is "undef",  so
           use "exists $version{$foo}{$bar}" if that's what you're testing for.

           Starting  with 2.10, the special module name "Unicode" refers to the version of the Unicode Character
           Database bundled with Perl.

       %Module::CoreList::delta
           Available in version 3.00 and above.

           %Module::CoreList::version is implemented via "Module::CoreList::TieHashDelta"  using  this  hash  of
           delta changes.

           It is a hash of hashes that is keyed on perl version. Each keyed hash will have the following keys:

             delta_from - a previous perl version that the changes are based on
             changed    - a hash of module/versions that have changed
             removed    - a hash of modules that have been removed

       %Module::CoreList::released
           Keyed  on  perl  version  this  contains ISO formatted versions of the release dates, as gleaned from
           perlhist.

       %Module::CoreList::families
           New, in 1.96, a hash that clusters known perl releases by their major versions.

       %Module::CoreList::deprecated
           A hash of hashes keyed on perl version and on module name.  If a module is defined it indicates  that
           that  module is deprecated in that perl version and is scheduled for removal from core at some future
           point.

       %Module::CoreList::upstream
           A hash that contains information on where patches should be directed for each core module.

           UPSTREAM indicates where patches should go. "undef" implies that this hasn't been discussed  for  the
           module  at  hand.   "blead"  indicates  that  the  copy  of  the module in the blead sources is to be
           considered canonical, "cpan" means that the module on CPAN is to be patched first. "first-come" means
           that blead can be patched freely if it is in sync with the latest release on CPAN.

       %Module::CoreList::bug_tracker
           A hash that contains information on the appropriate bug tracker for each core module.

           BUGS is an  email  or  url  to  post  bug  reports.   For  modules  with  UPSTREAM  =>  'blead',  use
           perl5-porters@perl.org.   rt.cpan.org  appears  to  automatically provide a URL for CPAN modules; any
           value given here overrides the default: http://rt.cpan.org/Public/Dist/Display.html?Name=$ModuleName

CAVEATS

       Module::CoreList currently covers the 5.000, 5.001, 5.002, 5.003_07, 5.004,  5.004_05,  5.005,  5.005_03,
       5.005_04,  5.6.0,  5.6.1,  5.6.2,  5.7.3,  5.8.0, 5.8.1, 5.8.2, 5.8.3, 5.8.4, 5.8.5, 5.8.6, 5.8.7, 5.8.8,
       5.8.9, 5.9.0, 5.9.1, 5.9.2, 5.9.3, 5.9.4, 5.9.5, 5.10.0, 5.10.1, 5.11.0, 5.11.1, 5.11.2, 5.11.3,  5.11.4,
       5.11.5,  5.12.0,  5.12.1, 5.12.2, 5.12.3, 5.12.4, 5.12.5, 5.13.0, 5.13.1, 5.13.2, 5.13.3, 5.13.4, 5.13.5,
       5.13.6, 5.13.7, 5.13.8, 5.13.9, 5.13.10, 5.13.11, 5.14.0, 5.14.1, 5.14.2 5.14.3, 5.14.4, 5.15.0,  5.15.1,
       5.15.2,  5.15.3,  5.15.4, 5.15.5, 5.15.6, 5.15.7, 5.15.8, 5.15.9, 5.16.0, 5.16.1, 5.16.2, 5.16.3, 5.17.0,
       5.17.1, 5.17.2, 5.17.3, 5.17.4, 5.17.5, 5.17.6, 5.17.7, 5.17.8, 5.17.9, 5.17.10, 5.17.11, 5.18.0, 5.19.0,
       5.19.1, 5.19.2, 5.19.3, 5.19.4, 5.19.5, 5.19.6, 5.19.7 and 5.19.8 releases of perl.

HISTORY

       Moved to Changes file.

AUTHOR

       Richard Clamp <richardc@unixbeard.net>

       Currently maintained by the perl 5 porters <perl5-porters@perl.org>.

LICENSE

       Copyright (C) 2002-2009 Richard Clamp.  All Rights Reserved.

       This module is free software; you can redistribute it and/or modify it  under  the  same  terms  as  Perl
       itself.

SEE ALSO

       corelist, Module::Info, perl, <http://perlpunks.de/corelist>

perl v5.18.2                                       2014-01-14                              Module::CoreList(3pm)