開発用ホストに複数バージョンのPerlをインストールしている時に、まとめてモジュールインストール状況をチェックするスクリプト
プログラム
#!/usr/local/bin/perl —
use strict;
use warnings;
=pod
Check if perl module is installed and print the version if installed.
syntax: module_check.pl [MODULE LIST]
=cut
#ここは手動で編集しておく
my @perls = qw(
/home/perlbrew/perls/perl-5.8.9/bin/perl
/home/perlbrew/perls/perl-5.10.1/bin/perl
/home/perlbrew/perls/perl-5.12.4/bin/perl
/home/perlbrew/perls/perl-5.14.2/bin/perl
/usr/local/bin/perl
);
my @modules = @ARGV;
scalar @modules
or @modules = qw(CGI);
for my $p (@perls){
print “$p\n”;
for my $m (@modules){
my $v = `$p -M$m -e ‘print \$${m}::VERSION’ 2>/dev/null`;
print “\t$m=$v\n”;
}
}
Windowsの場合
Windowsの場合はシングルクオートをダブルクオートに、標準エラーを捨てる先を「/dev/null」から「nul」に変更する。
my $v = `$p -M$m -e "print \$${m}::VERSION" 2>nul`;
使い方
./module_check.pl Image::Magick GD
出力例
/home/perlbrew/perls/perl-5.8.9/bin/perl
Image::Magick=
GD=
/home/perlbrew/perls/perl-5.10.1/bin/perl
Image::Magick=
GD=2.46
/home/perlbrew/perls/perl-5.12.4/bin/perl
Image::Magick=
GD=2.46
/home/perlbrew/perls/perl-5.14.2/bin/perl
Image::Magick=6.79
GD=
/usr/local/bin/perl
Image::Magick=6.2.8
GD=
Image::Magick=
GD=
/home/perlbrew/perls/perl-5.10.1/bin/perl
Image::Magick=
GD=2.46
/home/perlbrew/perls/perl-5.12.4/bin/perl
Image::Magick=
GD=2.46
/home/perlbrew/perls/perl-5.14.2/bin/perl
Image::Magick=6.79
GD=
/usr/local/bin/perl
Image::Magick=6.2.8
GD=