ExtUtils::Installed fait partie de core depuis Perl v5.005, alors je pense que c'est un bon choix de l'utiliser si le but est de répondre "dans le cas d'une migration", et le nom du module et la version me semblent suffisants pour ce besoin.
La sortie va aussi indiquer la version de Perl utilisée, ce qui permet de savoir quelle version de Perl devrait être installée. Cette information suffit à permettre la réinstallation à l'identique.
Savoir quels sont les modules présents dans core me semble correspondre à un autre besoin :
- je migre sur une machine qui a une version supérieure de Perl, et je veux savoir si tel ou tel module fait partie de core dans cette version
- j'envisage d'utiliser tel module dans mon application, et je veux vérifier qu'il est compatible avec mes prérequis de fonctionnement, et savoir la version de Perl à partir de laquelle un module donné est d'office disponible avec Perl
Dans ce cas corelist me semble préférable (qui dépend de Module::CoreList qui est dans core depuis 2008 avec Perl v5.8.9).
Liste de tous les modules core de Perl pour la version 5.14.2 :
Liste des versions de Perl contenant un module donné dans core :
corelist -a ExtUtils::Installed
http://perldoc.perl.org/corelist.html
corelist ou un script avec Module::CoreList pourrait aussi être utilisé sur la machine cible ayant une version différente de Perl, avec en entrée la liste produite par ton oneliner pour vérifier si les modules concernés n'ont pas, par hasard été intégrés dans la nouvelle version de Perl.
Eks
Partager