FAQ PerlConsultez toutes les FAQ
Nombre d'auteurs : 18, nombre de questions : 250, dernière mise à jour : 29 octobre 2015 Ajouter une question
Bienvenue sur la FAQ Perl. Cette FAQ a pour vocation de vous enseigner ou de vous faire revoir les notions élémentaires de ce fantastique langage. Perl est très utilisé dans différents domaines depuis la gestion système, le réseaux, l'administration de bases de données, le web (CGI), la bureautique, la conception d'interfaces graphiques ou des contextes scientifiques telle la bioinformatique. Nous espérons que cette FAQ vous sera d'une grande utilité.
Vous souhaitez participer à l'amélioration de cette FAQ, n'hésitez pas !! Commentez
Bonne lecture !
Afin d'effectuer les installations des modules, vous devez utiliser le Gestionnaire de Package Perl (PPM). Ce dernier vous fournit une interface en ligne
pour gérer vos modules et extensions (packages) compatibles Win32. PPM vous permet d'accéder aux collections de packages, de les installer,
de les supprimer ou de les mettre à jour sur votre système.
Voici quelques explications sur l'installation, l'exécution et l'utilisation du Gestionnaire de Package Perl (PPM) :
- installation : PPM est installé en même temps que Perl pour Win32,
donc rien à faire si Perl est bien installé bien sûr ; - exécution : avant d'exécuter PPM, vous devez être connecté à Internet.
En cas de souci, vérifier si votre connexion Internet utilise un firewall ou
un proxy. Vous devriez positionner la variable d'environnement 'HTTP_proxy'
avec le nom du serveur proxy.
Ex : http_proxy=http://proxy.example.org
Si votre serveur proxy nécessite un nom d'utilisateur et un mot de passe,
les variables d'environnement "HTTP_proxy_user" et "HTTP_proxy_pass" devraient
être initialisées avec ces valeurs ou bien positionnez "HTTP_proxy" ainsi :
Ex: http_proxy=http://username:password@proxy.example.org
Si de plus vous utilisez un port autre que le port 80, faites ainsi :
http_proxy=http://username:password@proxy.example.org:8080
PPM peut alors être exécuté en tapant "ppm" dans une fenêtre DOS ou bien, double
clic sur C:\Perl\bin\ppm.bat et on accède à la même interface que sous Unix ; - utilisation : par défaut, PPM utilisera la collection de package d'ActiveState,
mais ceci peut être configuré en utilisant la commande "set" ou "rep" (cf. plus bas).
Une fois dans votre fenêtre console, vous aurez un prompt "ppm>".
L'installation s'effectue via la commande "install package_name".
Au fur et à mesure de l'évolution de Perl, l'utilisation de PPM s'est améliorée.
Je vais donc vous présenter son utilisation pour les versions de Perl inférieures
et supérieures à Perl 5.8.8 built 819.
Je vous conseille de lire les deux car même si le principe diffère, le but est le même.
Pour les versions de Perl inférieures à 5.8.8 built 819
Exemple d'utilisation de PPM pour l'installation
Code : | Sélectionner tout |
1 2 3 4 5 6 7 8 9 10 11 12 13 | ppm> install CGI ============= Install 'CGI' version 2.91 in ActivePrl 5.8.2.808. ============= Downloaded 147245 bytes. Extracting 21/21: blib/arch/auto/CGI/.exists Installing C:\Perl\html\site\lib\CGI.html .........................................=> Installation OK ......................................... Installing C:\Perl\site\lib\CGI.pm ......................................... ......................................... Successfully installed CGI version 2.91 in ActivePerl5.8.2.808. |
Code : | Sélectionner tout |
1 2 | ppm> install CGI Note: Package 'CGI' is already installed |
Problèmes souvent rencontrés
Il arrive très souvent de se trouver face à un problème d'installation de modules avec plein de messages d'erreurs.
Alors, on est un peu perdu, surtout quand on débute en Perl (ou dans l'installation de modules).
- Assurez-vous d'être connecté à Internet, car l'installation de modules via ppm par défaut nécessite que ce dernier
aille chercher le module que vous souhaitez dans un dépôt ou encore repository en anglais (la notion de repository sera expliquée plus bas).
- Certaines versions de ppm peuvent être sensibles à la casse, donc faites attention.
- Il se peut que le module que vous cherchez à installer n'existe pas (faute de frappe par exemple).
Code : | Sélectionner tout |
1 2 | ppm> install toto Error: Package 'toto' not found. Please 'search' for it first. |
- Comme tous les perléens, vous avez l'habitude de vous rendre sur le site officiel CPAN pour
faire une recherche de modules intéressants. Ensuite, tout content de les avoir trouvés, vous essayez de les installer et paf, la phrase magique "ça marche pas", avec pour messages sur le terminal :
Code : | Sélectionner tout |
1 2 3 4 5 6 7 8 9 | ppm> install PDF::FromHTML Error: Package 'PDF::FromHTML' not found. Please 'search' for it first. ou bien ppm> install PDF::FromHTML ppm> searching for 'PDF::FromHTML' returned no results. Try a broder search first ou ppm> install GD ppm> Error: PPD for 'GD.ppd' could not be found. ou autre... |
Les dépôts ou repository
En fait, lorsque vous installez un module en Perl via ppm, ce dernier va chercher le module en question dans le repository d'ActivePerl.
Ce dernier est ActiveState Package Repository. Il se peut que le module que vous avez vu sur le CPAN n'y soit pas présent.
Pour faire une recherche d'un module dans ses repositories, faites par exemple :
Code : | Sélectionner tout |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 | ppm> search DBD Searching in Active Repositories 1. Bundle-DBD-CSV [0.1016] A bundle to install the DBD::CSV driver 2. DBD-ADO [2.95] DBD-ADO 3. DBD-ADO [2.95] A DBI driver for Microsoft ADO (Active Data Objects) 4. DBD-ADO [2.94] ADO driver for the DBI module. 5. DBD-AnyData [0.08] DBD-AnyData 6. DBD-AnyData [0.08] DBI access to XML, CSV and other formats 7. DBD-AnyData [0.08] DBI access to XML, CSV and other formats 8. DBD-Chart [0.80] DBD-Chart 9. DBD-Chart [0.80] DBI driver abstraction for Rendering Charts and Graphs 10. DBD-Chart [0.81] Chart driver for DBI module 11. DBD-CSV [0.22] DBD-CSV 12. DBD-CSV [0.22] DBI driver for CSV files 13. DBD-CSV [0.21] DBI driver for CSV files 14. DBD-Excel [0.06] DBD-Excel ..... |
Pour voir la liste de ces repositories :
Code : | Sélectionner tout |
1 2 3 4 | ppm> rep (ou repository) Repositories: [1] ActiveState PPM2 Repository [2] ActiveState Package Repository |
Code : | Sélectionner tout |
ppm> rep add bribes http://www.bribes.org/perl/ppm
Code : | Sélectionner tout |
1 2 3 4 5 6 7 | ppm> repository Repositories: [1] ActiveState PPM2 Repository [2] ActiveState Package Repository [3] bribes => Il existe d'autres dépôts, à vous de chercher !!! |
si vous connaissez son adresse exacte bien sûr !! Exemple :
Code : | Sélectionner tout |
ppm> install http://www.bribes.org/perl/ppm/CGI.ppd
CPAN n'est qu'une interface permettant de regrouper la plupart des modules à disposition, les documents et les différents miroirs vers ces modules.
Voilà, pour plus d'informations sur les ppm, voici un très bon site !
Après toutes ces indications, si vous avez toujours un souci avec les fichiers ppd, vous pouvez le créer vous-même, mais cela dépasse le domaine de cette FAQ :-) !!
Vous pouvez également télécharger le module à partir du CPAN et l'installer "à la UNIX" (voir plus bas), mais vous ne pourrez pas faire de make (inconnu de Windows) à moins de passer par cygwin ou Visual Studio.
Pour les personnes utilisant une version de Perl très ancienne (Perl 5.00), je vous conseille d'installer la version récente de Perl (actuellement 5.8.8). Cela vous évitera des soucis de version de ppm (tapez ppm version => 3.4 actuellement) et de compatibilité avec les modules récents.
Si d'autres messages d'erreurs persistent, soit il n'existe pas, soit cette FAQ ne vous sera pas suffisante et de ce fait un bon Google s'impose !
Pour les versions de Perl 5.8.8 built 819 et plus
Depuis la version 5.8.8, lorsque vous installez Perl depuis ActiveState, vous disposez de la version 4.01 de ppm
Code : | Sélectionner tout |
1 2 3 | >ppm version ppm 4.01 Copyright (C) 2007 ActiveSate Software Inc. All rights reserved. |
Code : | Sélectionner tout |
>ppm
Vous devez donc avoir bien évidemment Internet de disponible.
Dans un premier temps, je vais vous demander de rajouter certains repositories importants. Dans la fenêtre TK, cliquez sur le symbole le plus à droite tout en haut
Vous verrez que vous ne disposez que du repository ActiveState Package Repository
url : http://ppm4.activestate/MSWin32-x86/5.8/820/package.xml
Maintenant ajoutez les repositories suivants :
Code : | Sélectionner tout |
1 2 3 | bribes => http://www.bribes.org/perl/ppm/ threoryx => http://theoryx5.uwinnipeg.ca/ppms/ trouchelle => http://trouchelle.com/ppm/ |
Pour installer un nouveau module, revenez sur la fenêtre Tk principale et choisissez dans la liste des modules celui que vous souhaitez installer.
Si ce dernier est jaune (=> il est déjà installé), s'il est grisé alors il n'est pas installé.
Faites un clic droit et choisissez 'install'. Vous pouvez le faire sur tous les modules que vous souhaitez installer.
Maintenant tous les modules que vous avez souhaité installer seront décorés d'une flèche
verte. Cliquez maintenant sur la flèche verte
L'installation commence et gère toute seule les dépendances.
Voilà. Idem pour les désinstallations ou mises à jour des modules.
- Installation par téléchargement du module
La meilleure façon d'installer un module sur une station Unix est encore de télécharger le module et de le compiler.
Dans cet exemple, nous allons installer un module que nous verrons aussi plus tard, le module CGI qui permet le traitement des formulaires HTML.
Pour le moment, il faut télécharger ledit module (au format tar.gz) puis le décompresser. Dans une console shell.
Code : | Sélectionner tout |
1 2 3 | wget http://search.cpan.org/CPAN/authors/id/L/LD/LDS/CGI.pm-3.07.tar.gz tar -xvzf CGI.pm-3.07.tar.gz cd CGI.pm-3.07 |
Lisez-le ! Pour les non-anglophones, voici la procédure la plus couramment utilisée :
Code : | Sélectionner tout |
1 2 3 4 5 6 7 | #Vérification de votre environnement et de votre Perl et écriture du Makefile perl Makefile.PL #Compilation make #Installation en étant ROOT ! make install #Have fun ! |
- Installation via CPAN
Le défaut majeur de l'installation précédente est la gestion des dépendances. Il arrive très souvent que le module que vous souhaitez installer dépende d'autres modules et dans ce cas, il vous sera demandé d'installer un autre et ainsi de suite. Ce qui bien sûr peut devenir très lourd à gérer.
Je vous suggère de vous servir de l'utilitaire CPAN.
tapez la commande suivante :
Code : | Sélectionner tout |
> CPAN
Une fois CPAN configuré, pour installer un module, vous devrez taper :
Code : | Sélectionner tout |
1 2 3 4 | > CPAN cpan> install MON::MODULE # faites un help pour voir toutes les commandes disponibles cpan>help |
- Installation de Perl par défaut
Le module CPAN.pm est un module préinstallé sous Mac OS X. Il a pour but d'automatiser le téléchargement et la construction de vos modules.
Pour monter un shell CPAN interactif, placez-vous dans votre home, et tapez l'instruction suivante :
Code : | Sélectionner tout |
perl -MCPAN -e shell
Code : | Sélectionner tout |
install Bundle ::libnet
- Version ActiveState
Pour installer des modules avec ActivePerl, rien de plus simple ! Dans la fenêtre Terminal :
Code : | Sélectionner tout |
ppm install mon::module
Code : | Sélectionner tout |
sudo -u root /usr/local/ActivePerl-5.8/bin/ppm3-bin install mon::module
- Version Unix (troisième et dernière méthode !)
Si les deux solutions précédentes n'ont pas été concluantes, si vous avez porté votre choix sur un module qui n'est pas disponible par le ppm d'ActiveState, si vous avez des problèmes avec la méthode par défaut... ne perdez pas espoir !! Il reste une dernière solution ! Souvenez-vous, votre Terminal est un Unix... Donc vous pouvez installer vos modules à la manière Unix !! Téléchargez votre module, décompressez-le dans n'importe quel de vos répertoires (votre home, pourquoi pas !). Ensuite, placez-vous dans le répertoire du module obtenu (cd mon_module) et faites :
Code : | Sélectionner tout |
1 2 3 | perl Makefile.pl make sudo make install |
Code : | Sélectionner tout |
-bash: make: command not found
Installez-les par un petit double-clic sur Xcode Tools.mpkg qui se trouve dans le répertoire Applications/Installers/Xcode Tools/Xcode Tools.mpkg et le souci est résolu !!
et voilà !!! votre module est installé !
Vous trouverez votre bonheur parmi ces trois variantes j'espère !!!
A vous de jouer !!
Proposer une nouvelle réponse sur la FAQ
Ce n'est pas l'endroit pour poser des questions, allez plutôt sur le forum de la rubrique pour çaLes 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 © 2024 Developpez Developpez LLC. Tous droits réservés Developpez LLC. Aucune reproduction, même partielle, ne peut être faite de ce site et 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.