andreas1234567 has asked for the wisdom of the Perl Monks concerning the following question:
#!/usr/bin/perl use strict; use warnings; use ExtUtils::Installed; use constant TRUE => 0; use constant FALSE => -1; use constant DEBUG => 1; my $params = shift; # cfengine sends params as single string my ($modulename, $requiredversion) = split(' ', $params); die "missing modulename!" unless $modulename; my $instmod = ExtUtils::Installed->new(); foreach my $module ((grep /^$modulename$/, $instmod->modules())) { my $version = $instmod->version($module); if ($version >= $requiredversion){ print STDERR "$modulename installed:$version required:$requiredve +rsion - ok\n" if DEBUG; exit(TRUE); # installed and in correct version } else { print STDERR "$modulename installed:$version required:$requiredve +rsion - failed\n" if DEBUG; exit(FALSE); # installed, but not correct version } } print STDERR "$modulename not installed - failed\n" if DEBUG; exit(FALSE); # false __END__
Linux 2.4.20-28.7 i686 This is perl, v5.6.1 built for i386-linux (GNU cfengine 2.1.7p1)# ./cpanModVer.pl HTML::Mason 1.1 HTML::Mason installed:1.23 required:1.1 - ok # ./cpanModVer.pl CPAN 1.0 Argument "1.59_54" isn't numeric in numeric ge (>=) at ./cpanModVer.pl + line 36.
|
|---|
| Replies are listed 'Best First'. | |
|---|---|
|
Re: General version comparison of CPAN modules
by wolv (Pilgrim) on Jul 28, 2004 at 14:24 UTC | |
|
Re: General version comparison of CPAN modules
by davido (Cardinal) on Jul 28, 2004 at 15:37 UTC | |
|
Re: General version comparison of CPAN modules
by Anonymous Monk on Jul 28, 2004 at 15:04 UTC | |
|
Re: General version comparison of CPAN modules
by ysth (Canon) on Jul 28, 2004 at 15:23 UTC |