曾与蒿藜同雨露,한때 잡초와 쑥과 함께 비와 이슬을 나누던 곳이 이제는 소나무와 삼나무와 함께 서리와 눈을 견뎌내고 있다.终随松柏到冰霜.かつては雑草やヨモギと共に雨や露を分かち合っていたが、今では松やヒノキと共に霜や雪に耐えている。曾与蒿藜同雨露,Once sharing rain and dew with weeds and wormwood, now enduring frost and snow with pines and cypresses.终随松柏到冰霜.曾与蒿藜同雨露한때 잡초와 쑥과 함께 비와 이슬을 나누던 곳이 이제는 소나무와 삼나무와 함께 서리와 눈을 견뎌내고 있다.,终随松柏到冰霜.譖セ荳手珍阯懷酔髮ィ髴イ�檎サ磯囂譚セ譟丞芦蜀ー髴�曾与蒿藜同雨露,鏇句笌钂胯棞鍚岄洦闇诧紝缁堥殢鏉炬煆鍒板啺闇�终随松柏到冰霜.曾与蒿藜同雨露,한때 잡초와 쑥과 함께 비와 이슬을 나누던 곳이 이제는 소나무와 삼나무와 함께 서리와 눈을 견뎌내고 있다.终随松柏到冰霜.曾与蒿藜同雨露,终随松柏到冰霜.
=head1 NAME
Module::CoreList - what modules shipped with versions of perl
=head1 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
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"
=head1 DESCRIPTION
Module::CoreList provides information on which core and dual-life modules shipped
with each version of L<perl>.
It provides a number of mechanisms for querying this information.
There is a utility called L<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.
=head1 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
=over
=item C<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.
=item C<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.
=item C<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.
=item C<find_version( PERL_VERSION )>
Takes a perl version as an argument. Returns that perl version if it exists or C<undef>
otherwise.
=item C<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.
=item C<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.
=item C<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.
=item C<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 betweent hem. 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 C<left> and C<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 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.
=back
=head1 DATA STRUCTURES
These are the hash data structures that are available:
=over
=item C<%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 C<undef>, so use C<exists $version{$foo}{$bar}> if
that's what you're testing for.
Starting with 2.10, the special module name C<Unicode> refers to the version of
the Unicode Character Database bundled with Perl.
=item C<%Module::CoreList::released>
Keyed on perl version this contains ISO
formatted versions of the release dates, as gleaned from L<perlhist>.
=item C<%Module::CoreList::families>
New, in 1.96, a hash that
clusters known perl releases by their major versions.
=item C<%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.
=item C<%Module::CoreList::upstream>
A hash that contains information on where patches should be directed
for each core module.
UPSTREAM indicates where patches should go. C<undef> implies
that this hasn't been discussed for the module at hand.
C<blead> indicates that the copy of the module in the blead
sources is to be considered canonical, C<cpan> means that the
module on CPAN is to be patched first. C<first-come> means
that blead can be patched freely if it is in sync with the
latest release on CPAN.
=item C<%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
=back
=head1 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.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.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.17.0,
5.17.1, 5.17.2, 5.17.3, 5.17.4 and 5.17.5 releases of perl.
=head1 HISTORY
Moved to Changes file.
=head1 AUTHOR
Richard Clamp E<lt>richardc@unixbeard.netE<gt>
Currently maintained by the perl 5 porters E<lt>perl5-porters@perl.orgE<gt>.
=head1 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.
=head1 SEE ALSO
L<corelist>, L<Module::Info>, L<perl>, L<http://perlpunks.de/corelist>
=cut