Content-type: text/html
Pour en simplifier l'accès, le manuel Perl a été scindé en plusieurs sections :
perl Vue d'ensemble (cette section) perldelta Changements par rapport à la version précédente perlfaq Les questions souvent posées (Foire Aux Questions) perltoc Table des matières de la documentation Perl
perldata Structures de données perlsyn Syntaxe perlop Opérateurs et précédence perlre Expressions régulières perlrun Invocation de Perl et ses arguments perlfunc Fonctions prédéfinies de Perl perlvar Variables prédéfinies en Perl perlsub Utilisation des sous-programmes perlmod Modules Perl : comment ça marche perlmodlib Modules Perl : comment en créer et les utiliser perlmodinstall Modules Perl : comment les installer à partir du CPAN perlform Utilisation des formats perllocale Support des définitions locales
perlref Références en Perl perldsc Introduction aux structures de données en Perl perllol Structures de données en Perl : listes de listes perltoot Programmation orientée objet en Perl : apprentissage perlobj Objets en Perl perltie Objets cachés derrière de simples variables perlbot Programmation orientée objet : astuces et exemples perlipc Communication interprocessus
perldebug Debugger en Perl perldiag Messages de diagnostic de Perl perlsec Perl et la sécurité perltrap Pièges de Perl pour les imprudents perlport Guide de portabilité Perl perlstyle Guide de style Perl
perlpod Format des documentations Perl perlbook Livres parlant de Perl
perlembed Utiliser Perl dans vos programmes en C ou C++ perlapio Interface d'abstraction des E/S internes à Perl perlxs Interface de programmation des extensions à Perl perlxstut Perl XS : Apprentissage perlguts Fonctions internes pour les créateurs d'extensions perlcall Convention de nommage des fonctions Perl en C
perlhist Le glorieux passé de Perl
(Si vous essayez de lire l'ensemble des sections d'une traite, l'ordre indiqué tendra à réduire le nombre de référence en avant.)
Par défaut, toutes les sections citées précédement sont installées dans le répertoire /usr/local/man/fr/.
De la documentation supplémentaire sur les modules Perl est disponible. Par défaut, elle est installée dans le répertoire /usr/local/lib/perl5/man ou dans le sous-répertoire man du répertoire de bibliothèque Perl. Certains de ces documents supplémentaires sont livrés en standard avec Perl, mais vous y trouverez aussi la documentation des modules provenant d'autres sources.
Vous devez être en mesure de lire la documentation perl avec la commande man(1) en ajoutant le répertoire man dans le fichier de démarrage adéquat, ou en modifiant la variable d'environnement MANPATH. Pour savoir où sont installées les pages de manuel, tapez :
perl -V:man.dir
Si les répertoires ont un ancêtre commun, par exemple /usr/local/man/man1 et /usr/local/man/man3, il suffit d'ajouter cet ancêtre (/usr/local/man) dans le fichier de configuration de man(1) ou dans la variable MANPATH. Si ce n'est pas le cas, vous devrez alors tous les ajouter.
Si ça ne marche pas pour une raison quelconque, vous pouvez toujours utiliser le script perldoc fourni pour lire les documentations des modules. Vous pourriez aussi chercher un programme de remplacement à man(1).
Si votre programme a un comportement étrange et que vous ne savez pas où se trouve le problème, pour demander à Perl de vous aider, utilisez l'option -w. Très souvent Perl vous indiquera l'endroit exact où se trouve le problème.
Le Perl combine (du point de vue de l'auteur) les meilleures fonctionnalités de C, sed, awk et sh, de telle manière que les personnes familiarisées à ces langages ne devraient avoir aucune difficulté avec celui-ci. (Les historiens pourront noter quelques vestiges de csh, Pascal, et même de BASIC-PLUS). La syntaxe se rapproche presque totalement de celle du C. Contrairement à la plupart des utilitaires Unix, Perl ne limite pas arbitrairement la taille des données --- si vous avez assez de mémoire, Perl peut remplir une chaine de caractères avec le contenu total d'un fichier. Il n'y a pas de niveau maximum à la récursivité. Et les tables utilisées par les tableaux de hachage (anciennement appellé ``tableaux associatifs'') croissent dès que nécessaire afin de garantir un bon niveau de performance. Perl utilise des techniques sophistiquées de recherche de motif pour pouvoir traiter très rapidement de très grandes quantités de données. Bien qu'optimisé pour le traitement des fichiers textes, Perl peut aussi traiter des données binaires, et faire que des fichiers dbm soient vus commes des tableaux de hachage. Les scripts Perl ayant leurs setuid bits positionnés sont plus sûrs que des programmes C grâce à des mécanismes de suivi de flot de données qui permettent d'éviter de nombreux trous de securité particulièrement stupides.
Si vous avez un problème pour lequel vous auriez utilisé sed, awk ou sh, mais qui dépasse leurs capacités ou qui doit fonctionner un peu plus rapidement et que vous ne voulez pas l'écrire en C, alors le Perl est pour vous. Il existe aussi des convertisseurs pouvant transformer vos scripts sed et awk en scripts Perl.
Mais il y a beaucoup plus...
La version 5 de Perl constitue une réécriture presque complète, et introduit les fonctionnalités suivantes :
D'accord, j'en fini avec le battage publicitaire de Perl.
Si vous désirez faire partager votre témoignage sur les succès remportés en utilisant Perl, aidant ainsi ceux qui voudraient recommander le Perl pour leurs applications, ou tout simplement si vous voulez exprimer votre gratitude à Larry et l'équipe de développement, alors écrivez s'il vous plaît à <perl-thanks@perl.org>.
"/tmp/perl-e$$" fichier temporaire pour les commandes -e "@INC" emplacements des librairies Perl
a2p traducteur awk vers perl
s2p traducteur sed vers perl
Voir perldiag pour l'explication de tous ces diagnostics. Le pragma "use diagnostics" oblige Perl à rendre ces messages plus verbeux.
En cas d'erreur de compilation le numéro de la ligne fautive est indiqué ainsi que l'emplacement approximatif du mot concerné. (Dans le cas de script utilisant le modificateur -e, chaque -e est compté comme une ligne.)
Les scripts en setuid ont des contraintes supplémentaires pouvant produire des messages d'erreur tel que ``Insecure dependency''. Voir perlsec.
Avons-nous mentionné que vous devriez vraiment penser à utiliser le modificateur -w ?
Perl est à la merci de la définition de plusieurs opérations telles que casting, atof(), et affichage des nombres flottants par sprintf() qui peuvent être différentes sur votre machine.
Si votre stdio nécessite un déplacement(seek) ou une fin de fichier(eof) entre les lectures et les écritures sur des flots de données particuliers, alors Perl les requiert aussi. (Ceci ne s'applique pas à sysread() et syswrite().)
Il n'y a aucune limite en ce qui concerne la taille des types de données prédéfinies (à part la mémoire disponible) mais il existe toujours un petit nombre de limites arbitraires : un nom de variable ne peut dépasser 255 caractères, aucun composant de votre PATH ne doit être plus long que 255 caractères si vous utilisez le modificateur -S. Une expression régulière ne peut dépasser 32 767 octets lors de sa compilation.
Si vous envoyez un rapport de bug (assurez-vous d'inclure toutes les informations sur la configuration obtenue par le programme myconfig fourni avec Perl, ou par "perl -V") à <perlbug@perl.com>. Si vous avez réussi à compiler Perl, le script perlbug fourni dans le répertoire utils/ peut être utilisé pour envoyer un rapport de bug.
L'acronyme Perl signifie réellement Pathologically Eclectic Rubbish Lister, mais ne dites à personne que je vous ai dit ça.
Les trois grandes vertus du programmeur sont la paresse, l'impatience et l'orgueil. Reportez-vous au livre ``Programmation en Perl'' pour savoir pourquoi.