Perles de Mongueurs : CPAN
Signature : | Mis en ligne le : 18/05/2008
Catégorie(s) :
  • GNU/Linux Magazine
  • | Domaine :
    Commentez creative commons

    Retrouvez cet article dans : Linux Magazine 101

    Depuis le numéro 59, les Mongueurs de Perl vous proposent tous les mois de découvrir les scripts jetables qu’ils ont pu coder ou découvrir dans leur utilisation quotidienne de Perl. Bref, des choses trop courtes pour en faire un article, mais suffisamment intéressantes pour mériter d’être publiées. Ce sont les perles de Mongueurs.

    L’autre moitié de CPAN

    Certains modules Perl sont connus pour avoir de très nombreuses dépendances. L’expression consacrée dans la communauté Perl est de dire qu’ils nécessitent " la moitié de CPAN ". Dès qu’on installe un second framework ou module assez gourmand en dépendances, on se trouve donc obligé d’installer " l’autre moitié de CPAN ". :-) D’après le fichier 02packages.details.txt.gz du 4 décembre 2007, CPAN contient 50317 modules dans 14260 distributions, par 3511 auteurs. La moitié de tout ça, ça ferait quand même beaucoup... Tout d’abord, il faut savoir qu’une partie des modules listés dans ce fichier sont les modules du core de Perl, puisque Perl est téléchargeable sur CPAN. Certains sont dans leur propre distribution en plus : c’est ce qu’on appelle les modules dual-lived. Ils ont une double vie, à la fois dans le core de Perl et sur CPAN. Recalculons ces chiffres en excluant les modules du core (c’est-à-dire les modules livrés avec les sources de Perl). Même s’il existe des mises à jour de ces modules sur CPAN, nous n’en tiendrons pas compte dans nos calculs. Le module Module::CoreList tient à jour la liste de tous les modules fournis directement avec Perl, pour chaque version officielle de Perl.

    Ce qui nous donne : Donc 99% de CPAN n’est pas lié au core de Perl... Ça en fait, des modules originaux !

    Quelle moitié de CPAN est installée chez vous ?

    Maintenant que vous avez installé quelques-uns des poids lourds de CPAN (comme Catalyst, Jifty, PPI) et fait quelques blagues sur les multiples moitiés de CPAN que vous avez dû installer, la question finit par vraiment vous tracasser : combien de modules (ou plutôt de distributions) CPAN sont-elles installées chez vous ? Quand on charge un module Perl à l’aide de use et require, perl parcourt les répertoires listés dans le tableau @INC et cherche les fichiers dont le nom est obtenu en remplaçant les :: par des / et en ajoutant le suffixe .pm à la fin. Nous allons parcourir @INC à la recherche de fichiers .pm pour produire la liste des modules installés. Nous allons ensuite supprimer de cette liste les modules du core (à l’aide de Module::CoreList). Enfin, à l’aide du contenu de 02packages.details.txt.gz, nous construisons un hash avec trois clés : qui pointe vers un hash indexé par les noms des modules. qui pointe vers un hash indexé par les noms des distributions. qui pointe vers un hash faisant l’association entre un module et la distribution auquel il appartient. À l’aide de ce hash et de la liste des modules non-core installés, nous pouvons faire nos petites statistiques.

    Les scores de quelques Mongueurs

    Sébastien Aperghis-Tramoni installe un nombre non négligeable de modules CPAN afin de les découvrir et de les avoir à portée de main. Ses installations de Perl ressemblent à ceci : Ma propre installation de CPAN donne les résultats suivants : En bref, CPAN est tellement énorme que l’expression " la moitié de CPAN " relève plus du mythe que de la réalité. :-)

    À vous !

    Envoyez vos perles à perles@mongueurs.net. Elles seront peut-être publiées dans un prochain numéro de GNU/Linux Magazine.

    Retrouvez cet article dans : Linux Magazine 101

    Vous souhaitez commenter cet article ?
    Brèves Flux RSS
    Édito : GNU/Linux Magazine 149
    Édito : GNU/Linux Magazine HS N°60
    Édito : Misc 61
    Édito : Linux Pratique 71
    Édito : Linux Essentiel N°25
    Communication RSS Com. RSS Presse
    Lancement de la plateforme de vente en ligne de PDF des Éditions Diamond ! Un...
    Misc N°61 – Communiqué de presse
    GNU/Linux Magazine N°149 – Communiqué de presse
    GNU/Linux Magazine HS N°60 – Communiqué de presse
    Linux Pratique N°71 – Communiqué de presse
    prochainement moteur de recherches des articles
     
    :
    :
    Jours heures minutes secondes
    En kiosque Flux RSS

    Le tout nouveau GNU/Linux Magazine est disponible dès maintenant chez votre marchand de journaux et sur notre site marchand.

    Découvrez le sommaire de ce numéro et un aperçu de ce magazine...

    Lire la suite...

    Le tout nouveau Misc est disponible dès maintenant chez votre marchand de journaux et sur notre site marchand.

    Découvrez le sommaire de ce numéro et un aperçu de ce magazine...

    Lire la suite...

    Le tout nouveau Linux Pratique est disponible dès maintenant chez votre marchand de journaux et sur notre site marchand.

    Découvrez le sommaire de ce numéro et un aperçu de ce magazine...

    Lire la suite...

    Le tout nouveau GNU/Linux Magazine HS est disponible dès maintenant chez votre marchand de journaux et sur notre site marchand.

    Découvrez le sommaire de ce numéro et un aperçu de ce magazine...

    Lire la suite...

    Le tout nouveau Linux Essentiel est disponible dès maintenant chez votre marchand de journaux et sur notre site marchand.

    Découvrez le sommaire de ce numéro et un aperçu de ce magazine...

    Lire la suite...

    Le tout nouveau Misc HS est disponible dès maintenant chez votre marchand de journaux et sur notre site marchand.

    Découvrez le sommaire de ce numéro et un aperçu de ce magazine...

    Lire la suite...