in reply to What modules are installed ?

The CPAN module has all sorts of code to do stuff like this. The man page has some very interesting examples, including one that I think you can modify to suit your needs:
# list all modules on my disk that have newer versions on CPAN for $mod (CPAN::Shell->expand("Module","/./")) { next unless $mod->inst_file; next if $mod->uptodate; printf "Module %s is installed as %s, could be updated to %s\n", $mod->id, $mod->inst_version, $mod->cpan_version; }
$mod->inst_version is set to the installed version of your module and $mod->cpan_version is the latest available version. The expand function as done above will pull everything from CPAN.