Scroll to navigation

PERL(1) Guide de référence des programmeurs en Perl PERL(1)

NOM

perl — L’interpréteur de langage Perl 5

SYNOPSIS

perl-sTtuUWX ]
-hv ] [ -V[:configvar] ]
-cw ] [ -d[t][:debugger] ] [ -D[number/list] ]
-pna ] [ -Fpattern ] [ -l[octal] ] [ -0[octal/hexadecimal] ]
-Idir ] [ -m[-]module ] [ -M[-]'module...' ] [ -f ]
-C [number/list]
-S ]
-x[dir] ]
-i[extension] ]
[ [-e|-E'command' ] [ -- ] [ programfile ] [ 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/>.

If you're new to Perl, you should start by running "perldoc perlintro", which is a general intro for beginners and provides some background to help you navigate the rest of Perl's extensive documentation. Run "perldoc perldoc" to learn more things you can do with perldoc.

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            Perl history records
    perldelta           Perl changes since previous version
    perl5420delta       Perl changes in version 5.42.0
    perl5402delta       Perl changes in version 5.40.2
    perl5401delta       Perl changes in version 5.40.1
    perl5400delta       Perl changes in version 5.40.0
    perl5384delta       Perl changes in version 5.38.4
    perl5383delta       Perl changes in version 5.38.3
    perl5382delta       Perl changes in version 5.38.2
    perl5381delta       Perl changes in version 5.38.1
    perl5380delta       Perl changes in version 5.38.0
    perl5363delta       Perl changes in version 5.36.3
    perl5362delta       Perl changes in version 5.36.2
    perl5361delta       Perl changes in version 5.36.1
    perl5360delta       Perl changes in version 5.36.0
    perl5343delta       Perl changes in version 5.34.3
    perl5342delta       Perl changes in version 5.34.2
    perl5341delta       Perl changes in version 5.34.1
    perl5340delta       Perl changes in version 5.34.0
    perl5321delta       Perl changes in version 5.32.1
    perl5320delta       Perl changes in version 5.32.0
    perl5303delta       Perl changes in version 5.30.3
    perl5302delta       Perl changes in version 5.30.2
    perl5301delta       Perl changes in version 5.30.1
    perl5300delta       Perl changes in version 5.30.0
    perl5283delta       Perl changes in version 5.28.3
    perl5282delta       Perl changes in version 5.28.2
    perl5281delta       Perl changes in version 5.28.1
    perl5280delta       Perl changes in version 5.28.0
    perl5263delta       Perl changes in version 5.26.3
    perl5262delta       Perl changes in version 5.26.2
    perl5261delta       Perl changes in version 5.26.1
    perl5260delta       Perl changes in version 5.26.0
    perl5244delta       Perl changes in version 5.24.4
    perl5243delta       Perl changes in version 5.24.3
    perl5242delta       Perl changes in version 5.24.2
    perl5241delta       Perl changes in version 5.24.1
    perl5240delta       Perl changes in version 5.24.0
    perl5224delta       Perl changes in version 5.22.4
    perl5223delta       Perl changes in version 5.22.3
    perl5222delta       Perl changes in version 5.22.2
    perl5221delta       Perl changes in version 5.22.1
    perl5220delta       Perl changes in version 5.22.0
    perl5203delta       Perl changes in version 5.20.3
    perl5202delta       Perl changes in version 5.20.2
    perl5201delta       Perl changes in version 5.20.1
    perl5200delta       Perl changes in version 5.20.0
    perl5184delta       Perl changes in version 5.18.4
    perl5182delta       Perl changes in version 5.18.2
    perl5181delta       Perl changes in version 5.18.1
    perl5180delta       Perl changes in version 5.18.0
    perl5163delta       Perl changes in version 5.16.3
    perl5162delta       Perl changes in version 5.16.2
    perl5161delta       Perl changes in version 5.16.1
    perl5160delta       Perl changes in version 5.16.0
    perl5144delta       Perl changes in version 5.14.4
    perl5143delta       Perl changes in version 5.14.3
    perl5142delta       Perl changes in version 5.14.2
    perl5141delta       Perl changes in version 5.14.1
    perl5140delta       Perl changes in version 5.14.0
    perl5125delta       Perl changes in version 5.12.5
    perl5124delta       Perl changes in version 5.12.4
    perl5123delta       Perl changes in version 5.12.3
    perl5122delta       Perl changes in version 5.12.2
    perl5121delta       Perl changes in version 5.12.1
    perl5120delta       Perl changes in version 5.12.0
    perl5101delta       Perl changes in version 5.10.1
    perl5100delta       Perl changes in version 5.10.0
    perl589delta        Perl changes in version 5.8.9
    perl588delta        Perl changes in version 5.8.8
    perl587delta        Perl changes in version 5.8.7
    perl586delta        Perl changes in version 5.8.6
    perl585delta        Perl changes in version 5.8.5
    perl584delta        Perl changes in version 5.8.4
    perl583delta        Perl changes in version 5.8.3
    perl582delta        Perl changes in version 5.8.2
    perl581delta        Perl changes in version 5.8.1
    perl58delta         Perl changes in version 5.8.0
    perl561delta        Perl changes in version 5.6.1
    perl56delta         Perl changes in version 5.6
    perl5005delta       Perl changes in version 5.005
    perl5004delta       Perl changes in 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 un système de style Unix, cette documentation est en général aussi disponible sous forme de pages de manuel lisibles à l’aide du programme man(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).

In general, if something strange has gone wrong with your program and you're not sure where you should look for help, try making your code comply with use strict and use warnings. These will often point out exactly where the trouble is.

DESCRIPTION

Perl officially stands for Practical Extraction and Report Language, except when it doesn't.

Perl was originally a language optimized for scanning arbitrary text files, extracting information from those text files, and printing reports based on that information. It quickly became a good language for many system management tasks. Over the years, Perl has grown into a general-purpose programming language. It's widely used for everything from quick "one-liners" to full-scale application development.

The language is intended to be practical (easy to use, efficient, complete) rather than beautiful (tiny, elegant, minimal). It combines (in the author's opinion, anyway) some of the best features of sed, awk, and sh, making it familiar and easy to use for Unix users to whip up quick solutions to annoying problems. Its general-purpose programming facilities support procedural, functional, and object-oriented programming paradigms, making Perl a comfortable language for the long haul on major projects, whatever your bent.

Perl's roots in text processing haven't been forgotten over the years. It still boasts some of the most powerful regular expressions to be found anywhere, and its support for Unicode text is world-class. It handles all kinds of structured text, too, through an extensive collection of extensions. Those libraries, collected in the CPAN, provide ready-made solutions to an astounding array of problems. When they haven't set the standard themselves, they steal from the best -- just like Perl itself.

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.

See perldiag for explanations of all Perl's diagnostics. The "use diagnostics" pragma automatically turns Perl's normally terse warnings and errors into these longer forms.

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 is at the mercy of your machine's definitions of various operations such as type casting, atof(), and floating-point output with sprintf().

If your stdio requires a seek or eof between reads and writes on a particular stream, so does Perl. (This doesn't apply to sysread() and 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 actually stands for Pathologically Eclectic Rubbish Lister, but don't tell anyone I said that.

NOTES

The Perl motto is "There's more than one way to do it." Divining how many more is left as an exercise to the reader.

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.

11 juillet 2025 perl v5.42.0