IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Sommaire > Les modules
        Qu'est ce qu'un module ?
        10.1. Installation des modules(3)
                Windows
                Unix
                Macintosh
        Appeler un module local
        Appeler un module annexe
        Listing de quelques modules utiles
        10.2. Exemple d'utilisation de quelques modules(2)
                Module DBI
                Module CGI

        


Qu'est ce qu'un module ?
auteur : Djibril
Les modules sont des librairies ou bibliothèques (code perl) qui ajoutent des possibilités, des fonctionnalité au langage Perl. Ils sont stockés dans un fichier NOM.pm (pm pour perl module) et intégrés dans le programme par use NOM; (ou par require NOM;).


Appeler un module local
auteurs : Djibril, GLDavid
Il peut être très utile pour vos codes de développer vos propres modules. Encore faut-il les appeler. En réalité, l'appel à un module local n'est pas si différent de l'appel d'un module que vous aurez installé sur votre machine. Considérons ce petit module nommé essai.pl :

#!/usr/bin/perl package essai; print "Bonjour tout le monde !\n"; 1;
Dans le même répertoire que le module, vous écrivez votre script appelant ce module :

#!/usr/bin/perl -w use strict; print "Au revoir !\n"; use essai;
Dans cet exemple, vous afficherez d'abord la chaîne "Bonjour tout le monde !" puis celle de votre code. Mais il est possible aussi d'utiliser le mot clé require pour appeler un module :

#!/usr/bin/perl -w use strict; print "Au revoir !\n"; require essai;
Cette fois-ci, c'est la chaîne de votre code qui sera affichée en première. La différence entre use et require se situe au niveau des temps d'appel. use sera appelé dès l'exécution de votre script perl alors que require sera appelé conformément à la suite d'instruction de votre code. require se comporte ainsi comme une macro C #include. Voici un deuxième exemple. Le module "mon_module" contient dans notre cas un sous programme (longueur) qui sera appelé dans le programme principal. Il aurait pu contenir 0 ou plusieurs sous programmes. Rappel : un module est une bibliothèque de sous programme ou procédure ajoutant des fonctionnalités à notre programme principal.

mon_module.pm #!/usr/bin/perl -w use strict; use Carp; package mon_module; sub longueur{ my ($seq) =@_; #récupération de la séquence à traiter my $lg = length($seq); print "c'est une séquence de longueur $lg\n"; } 1; #obligatoire dans les modules en fin de programme. ######################################################## script_principal.pl #!/usr/bin/perl -w use strict; use Carp; use lib './repertoire_module'; #mon module se trouve dans le répertoire "repertoire_module" use mon_module; =>utilisation du module "mon_module" my $seq = "ATCGTGC"; &longueur($seq); #utilise la fonction &longueur de mon module =>c'est une séquence de longueur 7 print "c'est ok!"; =>c'est ok!

Appeler un module annexe
auteur : GLDavid
De la même manière que nous avons appelé un module local, nous utiliserons encore le mot clé use pour appeler un module externe. Prenons l'exemple du module File::Basename. Ce module va nous permettre de déterminer le non de base d'un fichier :

#!/usr/bin/perl use File::Basename; #Pragma toujours utile pour écrire du code Perl correct use strict; my($file) = /home/gldavid/djibril.secrets; my($basename) = basename $file; print "$basename\n";
Dans ce code, nous appelons une fonction, basename, contenu dans le module. Cette fonction prend en paramètre une chaîne de caractères relative à un nom de fichier. basename rendra ainsi le nom de base du fichier débarassé de sa localisation et de son extension soit, dans notre cas, djibril.


Listing de quelques modules utiles
auteur : Djibril
Voici un listing de modules Perl couramment utilisés pour améliorer et étendre les fonctionnalités de Perl.

Nom du module Commentaires
CGI Permet la création de page Web via la récupération des informations d'un formulaire
DBI Accès aux bases de données (installez également le driver adéquat pour son fonctionnement)
DBD::Pg Driver de bases de données Postgresql pour le module DBI
DBD::mysql Driver de bases de données Mysql pour le module DBI
DBD::Oracle Driver de bases de données Oracle pour le module DBI
XML::Parse Permet de manipuler les fichiers XML
GD Permet de créer des images GIF, JPG, PNG ...
LWP::UserAgent Utilitaires pour la consultation automatique de site web
HTML::Parser Permet de manipuler les fichiers HTML
Net::FTP Permet d'effectuer une connexion FTP
MIME::Lite Permet d'envoyer des mails

        

Consultez les autres F.A.Q's

Ce document issu de www.developpez.com est soumis à la licence GNU FDL traduit en français ici
Permission vous est donnée de distribuer, modifier des copies de cette page tant que cette note apparaît clairement.