At the very least you can use
ExtUtils::Installed to determine what modules in which version you have currently installed:
use strict;
use warnings;
use ExtUtils::Installed;
my $instmod = ExtUtils::Installed->new();
foreach my $module ($instmod->modules()) {
my $version = $instmod->version($module);
if ( $version ) {
print "$module installed, version $version\n";
} else {
print "$module installed, version not available\n";
}
}
__END__
Sort::Versions might be useful when comparing module "numbers".