1Module::CoreList(3pm)  Perl Programmers Reference Guide  Module::CoreList(3pm)
2
3
4

NAME

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

SYNOPSIS

9        use Module::CoreList;
10
11        print $Module::CoreList::version{5.00503}{CPAN}; # prints 1.48
12
13        print Module::CoreList->first_release('File::Spec');         # prints 5.00405
14        print Module::CoreList->first_release_by_date('File::Spec'); # prints 5.005
15        print Module::CoreList->first_release('File::Spec', 0.82);   # prints 5.006001
16
17        print join ', ', Module::CoreList->find_modules(qr/Data/);
18           # prints 'Data::Dumper'
19        print join ', ', Module::CoreList->find_modules(qr/test::h.*::.*s/i, 5.008008);
20           # prints 'Test::Harness::Assert, Test::Harness::Straps'
21
22        print join ", ", @{ $Module::CoreList::families{5.005} };
23           # prints "5.005, 5.00503, 5.00504"
24

DESCRIPTION

26       Module::CoreList provides information on which core and dual-life
27       modules shipped with each version of perl.
28
29       It provides a number of mechanisms for querying this information.
30
31       There is a utility called corelist provided with this module which is a
32       convenient way of querying from the command-line.
33
34       There is a functional programming API available for programmers to
35       query information.
36
37       Programmers may also query the contained hash structures to find
38       relevant information.
39

FUNCTIONS API

41       These are the functions that are available, they may either be called
42       as functions or class methods:
43
44         Module::CoreList::first_release('File::Spec'); # as a function
45
46         Module::CoreList->first_release('File::Spec'); # class method
47
48       "first_release( MODULE )"
49           Behaviour since version 2.11
50
51           Requires a MODULE name as an argument, returns the perl version
52           when that module first appeared in core as ordered by perl version
53           number or undef ( in scalar context ) or an empty list ( in list
54           context ) if that module is not in core.
55
56       "first_release_by_date( MODULE )"
57           Requires a MODULE name as an argument, returns the perl version
58           when that module first appeared in core as ordered by release date
59           or undef ( in scalar context ) or an empty list ( in list context )
60           if that module is not in core.
61
62       "find_modules( REGEX, [ LIST OF PERLS ] )"
63           Takes a regex as an argument, returns a list of modules that match
64           the regex given.  If only a regex is provided applies to all
65           modules in all perl versions. Optionally you may provide a list of
66           perl versions to limit the regex search.
67
68       "find_version( PERL_VERSION )"
69           Takes a perl version as an argument. Returns that perl version if
70           it exists or "undef" otherwise.
71
72       "is_deprecated( MODULE, PERL_VERSION )"
73           Available in version 2.22 and above.
74
75           Returns true if MODULE is marked as deprecated in PERL_VERSION.  If
76           PERL_VERSION is omitted, it defaults to the current version of
77           Perl.
78
79       "removed_from( MODULE )"
80           Available in version 2.32 and above
81
82           Takes a module name as an argument, returns the first perl version
83           where that module was removed from core. Returns undef if the given
84           module was never in core or remains in core.
85
86       "removed_from_by_date( MODULE )"
87           Available in version 2.32 and above
88
89           Takes a module name as an argument, returns the first perl version
90           by release date where that module was removed from core. Returns
91           undef if the given module was never in core or remains in core.
92

DATA STRUCTURES

94       These are the hash data structures that are available:
95
96       %Module::CoreList::version
97           A hash of hashes that is keyed on perl version as indicated in $].
98           The second level hash is module => version pairs.
99
100           Note, it is possible for the version of a module to be unspecified,
101           whereby the value is "undef", so use "exists $version{$foo}{$bar}"
102           if that's what you're testing for.
103
104           Starting with 2.10, the special module name "Unicode" refers to the
105           version of the Unicode Character Database bundled with Perl.
106
107       %Module::CoreList::released
108           Keyed on perl version this contains ISO formatted versions of the
109           release dates, as gleaned from perlhist.
110
111       %Module::CoreList::families
112           New, in 1.96, a hash that clusters known perl releases by their
113           major versions.
114
115       %Module::CoreList::deprecated
116           A hash of hashes keyed on perl version and on module name.  If a
117           module is defined it indicates that that module is deprecated in
118           that perl version and is scheduled for removal from core at some
119           future point.
120
121       %Module::CoreList::upstream
122           A hash that contains information on where patches should be
123           directed for each core module.
124
125           UPSTREAM indicates where patches should go. "undef" implies that
126           this hasn't been discussed for the module at hand.  "blead"
127           indicates that the copy of the module in the blead sources is to be
128           considered canonical, "cpan" means that the module on CPAN is to be
129           patched first. "first-come" means that blead can be patched freely
130           if it is in sync with the latest release on CPAN.
131
132       %Module::CoreList::bug_tracker
133           A hash that contains information on the appropriate bug tracker for
134           each core module.
135
136           BUGS is an email or url to post bug reports.  For modules with
137           UPSTREAM => 'blead', use perl5-porters@perl.org.  rt.cpan.org
138           appears to automatically provide a URL for CPAN modules; any value
139           given here overrides the default:
140           http://rt.cpan.org/Public/Dist/Display.html?Name=$ModuleName
141

CAVEATS

143       Module::CoreList currently covers the 5.000, 5.001, 5.002, 5.003_07,
144       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,
145       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,
146       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,
147       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,
148       5.12.4, 5.13.0, 5.13.1, 5.13.2, 5.13.3, 5.13.4, 5.13.5, 5.13.6, 5.13.7,
149       5.13.8, 5.13.9, 5.13.10, 5.13.11, 5.14.0 and 5.14.1 releases of perl.
150

HISTORY

152       Moved to Changes file.
153

AUTHOR

155       Richard Clamp <richardc@unixbeard.net>
156
157       Currently maintained by the perl 5 porters <perl5-porters@perl.org>.
158

LICENSE

160       Copyright (C) 2002-2009 Richard Clamp.  All Rights Reserved.
161
162       This module is free software; you can redistribute it and/or modify it
163       under the same terms as Perl itself.
164

SEE ALSO

166       corelist, Module::Info, perl
167
168
169
170perl v5.12.4                      2011-06-20             Module::CoreList(3pm)
Impressum