2010年9月29日

Perlでモジュールのバージョン一覧を取得する - その2

標準モジュールのバージョン一覧を取得する方法は比較的簡単です。標準モジュールのModule::CoreListを使います。

Module::CoreListは、あるモジュールがいつ標準モジュールになったか、あるバージョンのPerlに、どのバージョンのモジュールが添付されているか、などが分かります。

module.pl

#!/usr/bin/env perl

use strict;
use warnings;

use utf8;

use Module::CoreList;

my $perl_version = shift @ARGV;

foreach my $module (Module::CoreList->find_modules(qr//, $perl_version)) {
	print "$module";
	my $version = $Module::CoreList::version{$perl_version}{$module};
	print "\t$version" if defined $version;
	print "\n";
}

引数にPerlのバージョンを渡すと、そのPerlの標準モジュール一覧をバージョン付きで得ることができます。

$ perl module.pl 5.012002
AnyDBM_File	1.00
App::Cpan	1.5701
App::Prove	3.17
App::Prove::State	3.17

...途中省略...

version	0.82
vmsish	1.02
warnings	1.09
warnings::register	1.01

トラックバックURL

このエントリーのトラックバックURL:
http://ash.roova.jp/mt/mt-tb.cgi/239

コメントする