| 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;).
|
| 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! |
|
| 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ébarrassé de sa localisation et de son extension soit, dans notre cas, djibril.
|
| 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  
|
Les sources présentées sur cette page sont libres de droits
et vous pouvez les utiliser à votre convenance. Par contre, la page de présentation
constitue une œuvre intellectuelle protégée par les droits d'auteur.
Copyright © 2005 Developpez Developpez LLC.
Tous droits réservés Developpez LLC. Aucune reproduction, même partielle, ne
peut être faite de ce site ni de l'ensemble de son contenu : textes, documents
et images sans l'autorisation expresse de Developpez LLC. Sinon vous encourez
selon la loi jusqu'à trois ans de prison et jusqu'à 300 000 € de dommages et intérêts.