Provided by: manpages-fr_4.28.0-2_all 

NOM
perl — L’interpréteur de langage Perl 5
SYNOPSIS
perl [ -sTtuUWX ]
[ -hv ] [ -V[:variable_config] ]
[ -cw ] [ -d[t][:débogueur] ] [ -D[chiffre/liste_chiffres] ]
[ -pna ] [ -Fmotif ] [ -l[octal] ] [ -0[octal/hexadécimal] ]
[ -Irépertoire ] [ -m[-]module ] [ -M[-]'module...' ] [ -f ]
[ -C [chiffre/liste_chiffres] ]
[ -S ]
[ -x[répertoire] ]
[ -i[extension] ]
[ [-e|-E] 'commande' ] [ -- ] [ fichier_programme ] [ argument ]...
Pour plus d’informations à propos de ces options, vous pouvez exécuter "perldoc perlrun".
OBTENIR DE L’AIDE
Le programme perldoc(1) permet d’accéder à toute la documentation qui accompagne Perl. Vous trouverez
plus de documentation, des didacticiels et le support de la communauté en ligne à
<https://www.perl.org/>.
Si vous débutez avec Perl, vous devriez commencer par exécuter "perldoc perlintro" qui constitue une
introduction générale pour les débutants et fournit quelques informations d’arrière-plan pour vous aider
à naviguer dans la documentation générale de Perl. Exécutez "perldoc perldoc" pour en apprendre plus sur
ce que vous pouvez faire avec perldoc(1).
Pour en faciliter l’accès, le manuel de Perl a été divisé en plusieurs sections.
Aperçu
perl Aperçu de Perl (cette section)
perlintro Introduction à Perl pour les débutants
perlrun Exécution de Perl et options
perltoc Table des matières de la documentation de Perl
Didacticiels
perlreftut Brève introduction aux références de Perl
perldsc Introduction aux structures de données dans Perl
perllol Structures de données : tableaux de tableaux
perlrequick Démarrage rapide avec les expressions
rationnelles
perlretut Didacticiel sur les expressions rationnelles
dans Perl
perlootut Didacticiel sur Perl OO pour les débutants
perlperf Techniques de performance et d’optimisation
perlstyle Guide de style dans Perl
perlcheat Aide-mémoire de Perl
perltrap Les pièges de Perl pour les étourdis
perldebtut Didacticiel de débogage dans Perl
perlfaq Questions fréquemment posées à propos de Perl
perlfaq1 Questions générales à propos de Perl
perlfaq2 Obtenir et apprendre Perl
perlfaq3 Outils de programmation
perlfaq4 Manipulation de données
perlfaq5 Fichiers et formats
perlfaq6 Expressions rationnelles
perlfaq7 Problèmes liés au langage Perl
perlfaq8 Interactions avec le système
perlfaq9 Programmation réseau
Manuel de référence
perlsyn Syntaxe de Perl : déclarations, instructions,
commentaires
perldata Structures de données dans Perl
perlop Expressions dans Perl :
opérateurs, priorités, chaînes littérales
perlsub Sous-routines de Perl
perlfunc Fonctions intégrées à Perl
perlopentut Didacticiel de la
fonction open() de Perl
perlpacktut Didacticiel des fonctions pack() et
unpack() de Perl
perlpod Documentation de Perl au format POD
perlpodspec Spécification du format POD de Perl
perldocstyle Guide de
style de Perl pour la documentation de base
perlpodstyle Guide de style de Perl POD
perldiag Messages de diagnostic de Perl
perldeprecation Éléments obsolètes de Perl
perllexwarn Avertissements de Perl et leurs contrôles
perldebug Débogage de Perl
perlvar Variables prédéfinies dans Perl
perlre Les expressions rationnelles de Perl, la suite de
l’histoire
perlrebackslash Séquences à barres obliques inversées dans les
expressions rationnelles de Perl
perlrecharclass Classes de caractères
dans les expressions rationnelles de Perl
perlreref Référence rapide des expressions rationnelles
de Perl
perlref Références de Perl, la suite de l’histoire
perlform Formats dans Perl
perlobj Objets de Perl
perltie Objets de Perl cachés derrière de simples
variables
perldbmfilter Filtres DBM de Perl
perlclass Syntaxe des classes dans Perl
perlipc Communication interprocessus dans Perl
perlfork Informations à propos de la fonction fork()
perlnumber Sémantique des nombres dans Perl
perlthrtut Didacticiel sur les threads dans Perl
perlport Guide de portabilité de Perl
perllocale Prise en charge des paramètres régionaux
perluniintro Introduction à Unicode dans Perl
perlunicode Prise en charge d’Unicode dans Perl
perlunicook Livre de recettes Unicode dans Perl
perlunifaq Questions fréquemment posées (FAQ) à propos
d’Unicode dans Perl
perluniprops Index des propriétés Unicode dans Perl
perlunitut Didacticiel sur Unicode dans Perl
perlebcdic Remarques à propos de l’exécution de Perl
sur une plateforme EBCDIC
perlsec Sécurité dans Perl
perlsecpolicy Politique de gestion des rapports concernant
la sécurité dans Perl
perlmod Les modules de Perl : comment fonctionnent-ils ?
perlmodlib Les modules de Perl : comment les écrire
et les utiliser
perlmodstyle Les modules de Perl : comment les écrire
avec style
perlmodinstall Les modules de Perl : comment les installer
depuis CPAN
perlnewmod Les modules de Perl : préparer un nouveau module
pour sa distribution
perlpragma Les modules de Perl : écrire une directive
(pragma) de l’utilisateur
perlutil Utilitaires fournis avec la distribution de Perl
perlfilter Filtres de sources dans Perl
perldtrace Prise en charge de DTrace dans Perl
perlglossary Glossaire de Perl
Fonctionnement interne et interface avec le langage C
perlembed Méthodes de Perl pour intégrer du code perl dans
votre application en C ou C++
perldebguts Méthodes et outils de débogage de Perl
perlxstut Didacticiel sur XS de Perl
perlxs Interface de programmation d’applications Perl XS
perlxstypemap Outils de conversion de types de Perl XS entre C
et Perl
perlclib Interaction avec les fonctions de la
bibliothèque C standard
perlguts Fonctions internes à Perl pour ceux qui écrivent
des extensions
perlcall Conventions d’invocation de Perl depuis C
perlmroapi Interface du greffon de résolution de méthode
perlreapi Interface du greffon des expressions rationnelles
perlreguts Fonctionnement interne du moteur d’expressions
perlapi Listage de l’API de Perl (généré automatiquement)
perlintern Fonctions internes de Perl (généré
automatiquement)
perliol API en C pour l’implémentation de Perl des
entrées/sorties en couches
perlapio Interface interne d’abstraction des
entrées/sorties de Perl
perlhack Guide des hackers de Perl
perlsource Guide de l’arborescence des sources de Perl
perlinterp Aperçu des sources de l’interpréteur de Perl et
son fonctionnement
perlhacktut Comment créer un patch simple en code C
perlhacktips Conseils pour le hacking du code C du cœur de
Perl
perlpolicy Politiques de développement de Perl
perlgov Règles de gouvernance de Perl
perlgit Utilisation de git avec le dépôt de Perl
Historique
perlhist Éléments de l’histoire de Perl
perldelta Modifications de Perl depuis la version précédente
perl5400delta Modifications de Perl dans la version 5.40.0
perl5382delta Modifications de Perl dans la version 5.38.2
perl5381delta Modifications de Perl dans la version 5.38.1
perl5380delta Modifications de Perl dans la version 5.38.0
perl5363delta Modifications de Perl dans la version 5.36.3
perl5362delta Modifications de Perl dans la version 5.36.2
perl5361delta Modifications de Perl dans la version 5.36.1
perl5360delta Modifications de Perl dans la version 5.36.0
perl5343delta Modifications de Perl dans la version 5.34.3
perl5342delta Modifications de Perl dans la version 5.34.2
perl5341delta Modifications de Perl dans la version 5.34.1
perl5340delta Modifications de Perl dans la version 5.34.0
perl5321delta Modifications de Perl dans la version 5.32.1
perl5320delta Modifications de Perl dans la version 5.32.0
perl5303delta Modifications de Perl dans la version 5.30.3
perl5302delta Modifications de Perl dans la version 5.30.2
perl5301delta Modifications de Perl dans la version 5.30.1
perl5300delta Modifications de Perl dans la version 5.30.0
perl5283delta Modifications de Perl dans la version 5.28.3
perl5282delta Modifications de Perl dans la version 5.28.2
perl5281delta Modifications de Perl dans la version 5.28.1
perl5280delta Modifications de Perl dans la version 5.28.0
perl5263delta Modifications de Perl dans la version 5.26.3
perl5262delta Modifications de Perl dans la version 5.26.2
perl5261delta Modifications de Perl dans la version 5.26.1
perl5260delta Modifications de Perl dans la version 5.26.0
perl5244delta Modifications de Perl dans la version 5.24.4
perl5243delta Modifications de Perl dans la version 5.24.3
perl5242delta Modifications de Perl dans la version 5.24.2
perl5241delta Modifications de Perl dans la version 5.24.1
perl5240delta Modifications de Perl dans la version 5.24.0
perl5224delta Modifications de Perl dans la version 5.22.4
perl5223delta Modifications de Perl dans la version 5.22.3
perl5222delta Modifications de Perl dans la version 5.22.2
perl5221delta Modifications de Perl dans la version 5.22.1
perl5220delta Modifications de Perl dans la version 5.22.0
perl5203delta Modifications de Perl dans la version 5.20.3
perl5202delta Modifications de Perl dans la version 5.20.2
perl5201delta Modifications de Perl dans la version 5.20.1
perl5200delta Modifications de Perl dans la version 5.20.0
perl5184delta Modifications de Perl dans la version 5.18.4
perl5182delta Modifications de Perl dans la version 5.18.2
perl5181delta Modifications de Perl dans la version 5.18.1
perl5180delta Modifications de Perl dans la version 5.18.0
perl5163delta Modifications de Perl dans la version 5.16.3
perl5162delta Modifications de Perl dans la version 5.16.2
perl5161delta Modifications de Perl dans la version 5.16.1
perl5160delta Modifications de Perl dans la version 5.16.0
perl5144delta Modifications de Perl dans la version 5.14.4
perl5143delta Modifications de Perl dans la version 5.14.3
perl5142delta Modifications de Perl dans la version 5.14.2
perl5141delta Modifications de Perl dans la version 5.14.1
perl5140delta Modifications de Perl dans la version 5.14.0
perl5125delta Modifications de Perl dans la version 5.12.5
perl5124delta Modifications de Perl dans la version 5.12.4
perl5123delta Modifications de Perl dans la version 5.12.3
perl5122delta Modifications de Perl dans la version 5.12.2
perl5121delta Modifications de Perl dans la version 5.12.1
perl5120delta Modifications de Perl dans la version 5.12.0
perl5101delta Modifications de Perl dans la version 5.10.1
perl5100delta Modifications de Perl dans la version 5.10.0
perl589delta Modifications de Perl dans la version 5.8.9
perl588delta Modifications de Perl dans la version 5.8.8
perl587delta Modifications de Perl dans la version 5.8.7
perl586delta Modifications de Perl dans la version 5.8.6
perl585delta Modifications de Perl dans la version 5.8.5
perl584delta Modifications de Perl dans la version 5.8.4
perl583delta Modifications de Perl dans la version 5.8.3
perl582delta Modifications de Perl dans la version 5.8.2
perl581delta Modifications de Perl dans la version 5.8.1
perl58delta Modifications de Perl dans la version 5.8.0
perl561delta Modifications de Perl dans la version 5.6.1
perl56delta Modifications de Perl dans la version 5.6
perl5005delta Modifications de Perl dans la version 5.005
perl5004delta Modifications de Perl dans la version 5.004
Divers
perlbook Informations à propos du livre de Perl
perlcommunity Informations à propos de la communauté Perl
perldoc Consulter la
documentation de Perl au format Pod
perlexperiment La liste des
fonctionnalités expérimentales de Perl
perlartistic Licence artistique de Perl
perlgpl GNU General Public License
Spécificités liguistiques
perlcn Perl pour le chinois simplifié (en UTF-8)
perljp Perl pour le japonais (en EUC-JP)
perlko Perl pour le coréen (en EUC-KR)
perltw Perl pour le chinois traditionnel (en Big5)
Spécificités liées à la plateforme
perlaix Notes pour Perl sous AIX
perlamiga Notes pour Perl sous AmigaOS
perlandroid Notes pour Perl sous Android
perlbs2000 Notes pour Perl sous POSIX-BC BS2000
perlcygwin Notes pour Perl sous Cygwin
perlfreebsd Notes pour Perl sous FreeBSD
perlhaiku Notes pour Perl sous Haiku
perlhpux Notes pour Perl sous HP-UX
perlhurd Notes pour Perl sous Hurd
perlirix Notes pour Perl sous Irix
perllinux Notes pour Perl sous Linux
perlmacosx Notes pour Perl sous Mac OS X
perlopenbsd Notes pour Perl sous OpenBSD
perlos2 Notes pour Perl sous OS/2
perlos390 Notes pour Perl sous OS/390
perlos400 Notes pour Perl sous OS/400
perlplan9 Notes pour Perl sous Plan 9
perlqnx Notes pour Perl sous QNX
perlriscos Notes pour Perl sous RISC OS
perlsolaris Notes pour Perl sous Solaris
perlsynology Notes pour Perl sous Synology
perltru64 Notes pour Perl sous Tru64
perlvms Notes pour Perl sous VMS
perlvos Notes pour Perl sous Stratus VOS
perlwin32 Notes pour Perl sous Windows
Mémorial des documents supprimés
perlboot
perlbot
perlrepository
perltodo
perltooc
perltoot
Sur les systèmes Debian, vous devez installer le paquet perl-doc qui contient la majorité de la
documentation Perl standard et le programme perldoc(1).
Une documentation supplémentaire complète pour les modules de Perl est disponible, tant pour ceux
distribués avec Perl que pour les modules tiers empaquetés ou installés localement.
Vous devriez pouvoir visualiser la documentation de Perl avec votre programme man(1) ou avec perldoc(1).
Certaines documentations ne sont pas disponibles sous forme de pages de manuel man(1) ; si une référence
croisée n’est pas trouvée par man(1), tentez votre chance avec perldoc(1). perldoc(1) peut aussi vous
donner un accès direct à la documentation des fonctions (à l’aide du commutateur -f). Utilisez la
commande "perldoc --help" (ou "perldoc perldoc" ou "man perldoc") pour la liste des autres options utiles
qu’offre perldoc(1).
En général, si votre programme quitte le droit chemin et adopte un comportement étrange, et si vous ne
savez pas trop où trouver de l’aide, essayez de spécifier dans votre code les directives use strict et
use warnings ; souvent, elles vous indiquerons exactement la source du problème.
DESCRIPTION
Perl signifie officiellement Practical Extraction and Report Language (langage pratique d’extraction et
de génération de rapports), sauf quand ce n’est pas le cas.
Perl était à l’origine un langage optimisé pour l’analyse de fichiers texte arbitraires, l’extraction des
informations de ces derniers et l’affichage de ces informations sous forme de rapports. Il évolua ensuite
rapidement vers un langage adapté à de nombreuses tâches de gestion du système. Au fil des années, Perl
est finalement devenu un langage de programmation à usage général. Il est largement utilisé dans tous les
domaines de la programmation, depuis les commandes rapides en une ligne (« one-liners ») jusqu’au
développement d’applications à grande échelle.
Le langage Perl est orienté vers la pratique (facilité d’utilisation, efficacité, complétude) plutôt que
vers l’esthétique (concision, élégance, minimalisme). Il combine (c’est du moins l’opinion de l’auteur)
certaines des meilleures fonctionnalités de sed(1), awk(1) et sh(1), ce qui en fait un langage familier
et facile à utiliser pour les habitués d’Unix en leur permettant de trouver des solutions rapides à des
problèmes épineux. Ses éléments de programmation à usage général prennent en charge les modèles de
programmation procédurale, fonctionnelle et orientée objet, ce qui en fait un langage bien adapté pour le
long terme aux projets majeurs, quel que soit votre point de vue sur le sujet.
Perl n’a pas oublié ses racines au fil des années, à savoir la manipulation de texte. Il se targue de
proposer certaines des expressions rationnelles les plus puissantes jamais rencontrées et sa prise en
charge du texte Unicode est de classe mondiale. Il gère aussi tous les types de texte structuré grâce à
une collection exhaustive d’extensions. Ces bibliothèques, rassemblées dans le CPAN, fournissent des
solutions clés en main pour un éventail impressionnant de problèmes. Lorsqu’elles n’ont pas elles-mêmes
défini une norme, elles piochent parmi les meilleures de ces dernières, comme le fait Perl lui-même.
DISPONIBILITÉ
Perl est disponible pour la plupart des systèmes d’exploitation, y compris la quasi totalité des
plateformes de style Unix. Voir « Plateformes prises en charge » dans perlport pour la liste complète.
ENVIRONNEMENT
Voir « ENVIRONNEMENT » dans perlrun.
AUTEUR
Larry Wall <larry@wall.org>, avec l’aide de nombreuses autres personnes.
Si vos récits de succès avec Perl et vos témoignages peuvent aider ceux qui veulent recommander
l’utilisation de Perl dans les applications, ou si vous voulez simplement exprimer votre gratitude à
Larry et aux développeurs de Perl, veuillez envoyer vos commentaires à perl-thanks@perl.org.
FICHIERS
« @INC » emplacements des bibliothèques de Perl
« @INC » ci-avant fait référence à la variable intégrée de même nom ; voir perlvar pour plus
d’informations.
VOIR AUSSI
<https://www.perl.org/>
la page d’accueil de Perl
<https://www.perl.com/>
articles à propos de Perl
<https://www.cpan.org/>
la « Comprehensive Perl Archive »
<https://www.pm.org/>
les « Perl Mongers »
DIAGNOSTICS
Utiliser la directive "use strict" permet de s’assurer que toutes les variables seront correctement
déclarées et empêche toute utilisation inappropriée des fonctionnalités patrimoniales de Perl. Elle est
activée par défaut dans la portée de la directive "use v5.12" (ou supérieure).
La directive "use warnings" produit de magnifiques diagnostics. Elle est activée par défaut si vous
spécifiez "use v5.35" (ou supérieure). Il est aussi possible d’utiliser le commutateur -w mais son
utilisation est normalement déconseillée, car il s’applique à l’ensemble du code Perl exécuté, y compris
celui hors de votre contrôle.
Voir perldiag pour des explications à propos de tous les diagnostics de Perl. La directive "use
diagnostics" fait automatiquement passer les erreurs et avertissements de Perl du format court au format
long.
Les erreurs de compilation indiquent le numéro de la ligne où l’erreur s’est produite avec une indication
du prochain symbole ou type de symbole qui devait être examiné (dans un script passé à Perl à l’aide de
commutateurs -e, chaque -e compte pour une ligne).
Les scripts setuid ont des contraintes supplémentaires qui peuvent être à l’origine de messages d’erreur
comme « Insecure dependency ». Voir perlsec.
Vous a-t-on déjà dit que vous devez absolument vous résoudre à utiliser la directive use warnings ?
BOGUES
Le comportement induit par la directive use warnings n'est pas obligatoire.
Perl est à la merci des définitions par votre machine de différentes opérations comme la conversion de
type, atof(3) et la sortie en virgule flottante de sprintf(3).
Si votre stdio requiert un seek ou un eof entre lectures et écritures pour un flux particulier, ce sera
aussi le cas pour Perl (ce qui ne s’applique pas à sysread() et syswrite()).
Bien qu’aucun type de données intégré ne possède de limite de taille arbitraire (si ce n’est la taille de
la mémoire), il existe quand même quelques limites arbitraires : un nom de variable donnée ne peut pas
excéder une longueur de 251 caractères. Les numéros de ligne affichés par les diagnostics sont stockés en
interne sous forme d’entiers courts ; ils sont donc limités à un maximum de 65535 (un nombre supérieur
fera en général l’objet d’un bouclage).
Vous pouvez soumettre vos rapports de bogue à <https://github.com/Perl/perl5/issues> (sans oublier
d’inclure les informations de configuration en joignant la sortie du programme myconfig situé dans
l’arborescence des sources de Perl ou de la commande « perl -V »).
Perl signifie en fait « Pathologically Eclectic Rubbish Lister » (Listeur de déchets pathologiquement
éclectique), mais ne dites à personne que j’ai dit ça.
NOTES
La devise de Perl est « Il y a plusieurs manières d’y parvenir. ». Essayez de deviner ce nombre de
manières à titre d’exercice.
Les trois principales vertus d’un programmeur sont la paresse, l’impatience et l’orgueil. Voir le Camel
Book (livre « Programming Perl ») pour des explications.
TRADUCTION
La traduction française de cette page de manuel a été créée par Lucien Gentis <lucien.gentis@univ-
lorraine.fr>
Cette traduction est une documentation libre ; veuillez vous reporter à la GNU General Public License
version 3 concernant les conditions de copie et de distribution. Il n'y a aucune RESPONSABILITÉ LÉGALE.
Si vous découvrez un bogue dans la traduction de cette page de manuel, veuillez envoyer un message à
debian-l10n-french@lists.debian.org.
perl v5.40.1 27 juillet 2025 PERL(1)