Programmation en PERL

de Larry Wall, Tom Christiansen et Jon Orwant


précédentsommairesuivant

Glossaire

Un mot référencé ailleurs dans le glossaire est présenté en italique à la manière d'un hyperlien.

adresse réseau

  • L'attribut le plus important d'une socket, comme le numéro de votre téléphone. Typiquement une adresse IP. Voir aussi port.

affectation

  • Un opérateur dont la fonction est de modifier la valeur d'une variable.

algorithme

  • Séquence d'instructions clairement définie dans le langage de la machine (virtuelle).

alias

  • Surnom d'une variable qui se comporte comme le nom original. Par exemple, un alias temporaire est créé implicitement pour la variable de boucle dans l'instruction foreach, avec les opérateurs map et grep dans la variable $_, dans les variables $a et $b lors de l'appel de la fonction de comparaison sort ou bien pour les paramètres réels d'un appel de fonction dans la variable @_. Des alias permanents sont créés explicitement dans les paquetages par l'importation des symboles ou par affectation dans les typeglobs. Des alias à portée lexicale dans les paquetages sont créés avec la déclaration our.

alternatives

  • Une liste de choix possibles parmi lesquels on ne peut en sélectionner qu'un, comme dans : « Préférez-vous la porte A, B ou C ? » Les termes des alternatives dans les expressions régulières sont séparés par une barre verticale : |. Les termes des alternatives dans les expressions Perl normales sont séparés par deux barres verticales : ||. On peut parler d'une alternative d'alternatives. Ou non. À vous de choisir. Les alternatives logiques dans les expressions booléennes sont séparées par || ou bien or.

analyse lexicale

  • Terme amusant pour dire tokeniseur.

analyse syntaxique

  • L'art subtil et parfois brutal pour tenter de transformer votre programme avec ses erreurs potentielles en arbre syntaxique.

anonyme

  • Qualifie un référent qui ne peut être accédé par une variable, mais indirectement par une référence dure, qui disparaît après utilisation.

appel par référence

  • Un mécanisme de passage d'arguments par lequel les arguments formels se réfèrent directement aux arguments réels, le sous-programme pouvant modifier les arguments réels en changeant les arguments formels. Les arguments formels sont des alias pour les arguments réels. Voir aussi appel par valeur.

appel par valeur

  • Un mécanisme de passage d'arguments par lequel les arguments formels se réfèrent à une copie des arguments réels, le sous-programme ne pouvant modifier les arguments réels par les arguments formels. Voir aussi appel par référence.

appel système

  • Un appel direct de sous-programme au système d'exploitation. Nombre des fonctions et des sous-programmes utilisés ne sont pas des appels systèmes directs, mais constituent des surcouches au-dessus du niveau de l'appel système. En général, les utilisateurs de Perl n'ont pas à se soucier de la distinction. Néanmoins, si vous connaissez les fonctions Perl qui font des appels systèmes, vous savez celles qui affecteront la variable $! ($ERRNO) lors d'un échec. Malheureusement, les programmeurs Perl emploient souvent le terme « appel système » lorsqu'ils utilisent la fonction system, laquelle met en jeu beaucoup d'appels systèmes. Pour éviter toute confusion, nous utilisons presque toujours le terme « appel système » pour désigner l'appel indirect à l'aide de la fonction Perl syscall, mais jamais pour indiquer un appel de la fonction Perl system.

appelant

  • L'agent responsable de l'appel d'une méthode. Dans une méthode de classe, l'appelant est un nom de paquetage. Dans une méthode d'instance, l'appelant est une référence d'objet.

approche boîte à outils

  • La notion selon laquelle, avec un ensemble complet d'outils simples qui fonctionnent bien les uns avec les autres, il est possible de réaliser ce que l'on veut. Ce qui convient si l'on assemble un tricycle, mais dans le cas d'un microsthéseur rhomboïdal à double inversion de f lux, il faut absolument qu'un atelier construise les outils adaptés. Perl est une sorte d'atelier.

arbre d'analyse

  • Voir arbre syntaxique.

arbre syntaxique

  • Une représentation interne de votre programme dans laquelle les constructions de bas niveau sont incluses dans les blocs contenant.

architecture

  • Le type d'ordinateur sur lequel on travaille, « type » signifiant que les ordinateurs en faisant partie peuvent faire tourner le même programme binaire. Puisque les scripts Perl sont des fichiers texte et non binaires, un script Perl est beaucoup moins sensible à l'architecture sur laquelle il tourne que les programmes d'autres langages (comme C) qui sont compilés en code machine. Voir aussi système d'exploitation.

argument

  • Des données fournies en entrée d'un programme, d'un sous-programme, d'une fonction ou d'une méthode servant à lui dire quoi faire. Également appelé « paramètre ».

arguments de la ligne de commande

  • Les valeurs fournies comme paramètres d'un programme dont l'exécution est demandée au shell. Ces valeurs sont accessibles en Perl par l'intermédiaire du tableau @ARGV.

arguments formels

  • Nom générique des arguments d'un sous-programme. En Perl, les arguments formels d'un programme sont dans un tableau : $ARGV[0], $ARGV[1], ainsi de suite. Ceux d'un sous-programme sont $_[0], $_[1], etc, arguments qu'on peut transformer localement en noms par l'affectation à une liste my. Voir aussi arguments réels.

arguments réels

  • Les valeurs scalaires que l'on fournit à une fonction ou à un sous-programme que l'on appelle. Par exemple, quand on appelle jeton("bingo"), la chaîne "bingo" est l'argument réel. Voir également argument et arguments formels.

ARGV

  • Nom du tableau qui contient le vecteur d'argument de la ligne de commande. Avec l'opérateur <>, ARGV est à la fois le nom du filehandle qui utilisera les arguments et le scalaire contenant le nom du fichier en entrée.

ASCII

  • « American Standard Code for Information Interchange » (un ensemble de caractère efficace pour la représentation imparfaite des textes anglais). Utilisé aussi pour désigner les 128 premières valeurs des codages ISO-8859-X, un groupe de codes 8 bits incompatibles entre eux.

assertion

  • Composant d'une expression régulière qui doit être vraie pour le motif recherché, mais qui ne correspond pas forcément avec un caractère. Souvent utilisé pour désigner une assertion de longueur nulle, c'est-à-dire évaluée sur une chaîne nulle.

associativité

  • Détermine lequel des opérateurs de droite ou de gauche est exécuté en premier, quand on a « A opérateur B opérateur C », si les deux opérateurs ont la même précédence. Les opérateurs comme + sont associatifs à gauche, alors que les opérateurs comme ** sont associatifs à droite. Le chapitre 3, Opérateurs unaires et binaires, donne la liste des associativités.

asynchrone

  • Événements ou activités dont l'occurrence relative est indéterminée, car trop nombreux à se produire dans la même unité temporelle. On peut dire que c'est un événement qui arrivera à l'improviste.

atome

  • Composant d'une expression régulière qui peut correspondre à une sous-chaîne qui contient un ou plusieurs caractères et qui est traitée comme une unité syntaxique par tout quantificateur qui la suit. À comparer avec l'assertion qui s'évalue sur une chaîne de longueur nulle et ne peut être quantifiée.

attribut

  • Nouvelle fonctionnalité qui permet d'ajouter des modificateurs à des déclarations de variable ou fonction avec modificateurs comme dans sub foo : locked method. C'est aussi l'autre nom d'une variable d'instance d'un objet.

autogénération

  • Fonctionnalité de l'opérateur de surcharge des objets, où le comportement de certains opérateurs peut être dérivé des opérateurs fondamentaux. Cela suppose bien entendu que les opérateurs surchargés ont les mêmes relations que les opérateurs ordinaires. Voir le chapitre 13, Surcharge.

auto-incrémentation

  • Ajouter automatiquement un à quelque chose. Généralement employé pour décrire l'opérateur ++. L'opération inverse, soustraire 1, est appelé « autodécrémentation ».

autochargement

  • Chargement à la demande (également appelé « chargement paresseux »), précisément appel d'une fonction AUTOLOAD en lieu et place d'une routine indéfinie.

autosplit

  • Découpage automatique d'une chaîne à la manière du sélecteur -a utilisé avec -p ou n pour émuler la commande awk. Voir aussi le module AutoSplit (qui n'a rien à voir avec l'autosplit, mais beaucoup à voir avec l'autochargement).

autovivification

  • Terme d'origine gréco-latine signifiant littéralement « se donner la vie ». En Perl, les places mémoires (ou lvalues) se créent suivant le besoin, y compris la création des références dures nécessaires pour adresser le niveau suivant de stockage. L'affectation $a[5][5][5][5][5] = "quintet" crée cinq scalaires, plus quatre références (dans les quatre premiers scalaires) pointant sur quatre tableaux anonymes. Mais ici le point important est que nous n'avons pas à nous en soucier.

AV

  • Abréviation de « array value », qui se réfère à l'un des types de données internes de Perl. Une AV est une sorte de SV.

avertissement

  • Un message affiché sur le f lux STDERR indiquant que quelque chose ne va pas, mais que ce n'est pas une raison pour tout casser. Voir warn dans le chapitre 29, Fonctions, ainsi que le pragma use warnings dans le chapitre 31, Modules de pragmas.

avide

  • Un sous-motif dont le quantificateur cherche à effectuer une correspondance avec le maximum de choses.

awk

  • Abréviation du mot « étrange ». Aussi un vénérable langage de traitement de textes auquel Perl a emprunté quelques idées de haut niveau.

backtracking

  • En théorie cela revient à dire « si c'était à refaire, je le referais autrement », et en pratique avec Perl c'est le refaire vraiment. Mathématiquement parlant, il s'agit du retour d'une récursion ayant échoué sur une arborescence de possibilités. Le backtracking, ou retour arrière se produit en Perl quand il tente de comparer des motifs avec une expression régulière, et que ses premiers essais ne correspondent pas. Voir « Le petit Moteur qui /(ne )?pouvait( pas)?/ » au chapitre 5, Recherche de motif.

bibliothèque

  • Une collection de procédures. Aux temps héroïques, se référait à une collection de sous-programmes dans un fichier .pl. Actuellement, se réfère souvent à l'intégralité des modules Perl d'un système.

binaire

  • Ayant à voir avec les nombres représentés en base deux. Cela veut dire qu'il existe deux nombres, zéro et un. Désigne également un « fichier non-texte », dont le codage a été effectué avec les 8 bits de l'octet. Avec l'arrivée d'UNICODE, cette distinction perd toute signification.

bit

  • Entier dans l'intervalle 0-1, bornes comprises. La plus petite unité de stockage d'information. Un huitième d'octet ou de dollar. (L'expression Pieces of eight, pièces de huit, vient de la possibilité de diviser les vieux dollars espagnols en 8 bits, chacun restant de l'argent valable. C'est là d'où vient l'expression twobits pour une pièce de 25 cents.

bits d'autorisation

  • Les bits utilisés par le propriétaire d'un fichier pour limiter les accès à celui-ci. Ces bits font partie du mot mode retourné par la fonction stat prédéfinie lorsque vous demandez l'état d'un fichier. Sur les systèmes Unix, vous pouvez regarder la page de manuel ls(1) pour plus d'information.

bit d'exécution

  • La marque spéciale qui indique au système d'exploitation qu'il peut lancer ce programme. Il existe en fait trois bits d'exécution sous UNIX, et le bit utilisé dépend de ce que l'on possède le fichier individuellement, collectivement, ou pas du tout.

bloc

  • Un gros morceau de données, d'une taille que le système d'exploitation apprécie (d'habitude une puissance de 2 comme 512 ou 8192). Cela désigne habituellement un morceau de données venant d'un fichier ou y allant.

BLOCK

  • Une construction syntaxique composée d'une séquence d'instructions Perl délimitées par des accolades. Nous parlons parfois de « bloc » pour une séquence d'instructions qui agissent comme un BLOC, même non délimitée par des accolades.

bloqué

  • État d'un processus qui attend une ressource : « ce processus est bloqué, car il attend une ressource du disque ».

Booléen

  • Valeur vraie ou fausse.

boucle

  • Une construction qui effectue quelque chose de façon répétée, comme un surfeur sur des rouleaux.

brouillon

  • C'est une zone mémoire temporaire dans laquelle un sous-programme ou un fichier place temporairement ses valeurs et aussi toute variable à portée lexicale.

BSD

  • Une drogue psychotrope, populaire dans les années 80, probablement développée à l'U.C. Berkeley ou ses environs. Similaire par de nombreux points à la médication appelée « System V », mais infiniment plus utile (ou du moins, plus amusante). Le nom chimique complet est « Berkeley Standard Distribution » .

bucket

  • Espace dans une table de hachage contenant plusieurs entrées dont les clefs ont une valeur de hachage identique. (Cette notion est interne à la gestion des tableaux faite par Perl et ne vous concerne pas, en règle générale.)

bytecode

  • Un baragouin employé par les androïdes quand ils ne veulent pas révéler leur orientation (voir boutismes). Ainsi dénommé d'après certains langages similaires parlés (pour des raisons similaires) entre les compilateurs et les interpréteurs à la fin du vingtième siècle. Ces langages sont caractérisés par leur façon de représenter par une séquence d'octets indépendante de l'architecture.
  • Un langage chéri par de nombreuses personnes pour ses définitions de types inversées, ses règles de précédence impénétrables et une surcharge importante de ses mécanismes d'appel de fonctions. (En fait, les gens sont d'abord passés au C parce qu'ils trouvaient les identificateurs en minuscules plus faciles à lire que ceux en majuscules.) L'interpréteur Perl est écrit en C, et il n'est donc pas surprenant que Perl lui ait emprunté quelques idées.

canal de sortie actuellement sélectionné

  • Le dernier handle de fichier ayant été désigné par select (FILEHANDLE) ; STDOUT par défaut, si aucun handle n'a été sélectionné.

canonique

  • Réduction dans une forme standard qui facilite la comparaison.

capture

  • L'utilisation de parenthèses autour d'un sous-motif dans une expression régulière pour mémoriser la sous-chaîne correspondante comme référence arrière. (Les chaînes capturées peuvent aussi être retournées dans un contexte de liste.)

caractère

  • Un petit entier qui code une unité d'écriture. Historiquement, les caractères sont encodés dans un entier de longueur fixe (typiquement un octet, voir deux selon le type à coder), mais avec l'apparition du codage UTF-8, ils sont codés sur une longueur variable. Perl gère ceci d'une manière transparente, en général.

caractère espace

  • Un caractère qui déplace le curseur, mais n'affiche rien à l'écran. Se réfère typiquement aux caractères suivants : blanc, tabulation, retour chariot, saut de ligne, saut de page.

caractère nul

  • Un caractère ASCII de valeur zéro. Il est utilisé par C et certains appels système UNIX pour terminer les chaînes, alors que Perl autorise les chaînes à contenir un nul.

chaîne

  • Une séquence de caractères telle que « il dit !@#*&%@#*?! ». Une chaîne n'est pas obligatoirement imprimable.

chaîne binaire

  • Séquence de bits interprétée comme une séquence de bits.

chaîne nulle

  • Une chaîne ne contenant aucun caractère, à ne pas confondre avec une chaîne contenant un caractère nul, qui a une longueur positive et une valeur vraie.

champ

  • Un bout simple de données faisant partie d'une chaîne, d'un enregistrement ou d'une ligne. Les champs de longueur variable sont généralement séparés par des délimiteurs (on utilise split pour extraire les champs) alors que les champs de longueur fixe se trouvent à des positions constantes (on utilise unpack). Les variables d'instances sont aussi appelées « champs ».

chemin

  • Un nom de fichier entièrement qualifié tel /usr/bin/perl. Parfois confondu avec PATH.

classe

  • Un type prédéfini par l'utilisateur implémenté en Perl par la déclaration package, paquetage qui fournit (directement ou par héritage) les méthodes (c'est-à-dire les sous-routines) pour gérer les instances de la classe (ses objets). Voir aussi l'héritage.

classe de base

  • Type d'objet générique dont la classe très abstraite peut être dérivée par héritage vers des classes plus spécialisées. Aussi appelé « superclasse » dans la tradition de nos ancêtres.

classe de caractères

  • Une liste de caractères entre crochets employée dans une expression régulière pour indiquer que tout caractère de l'ensemble peut se trouver à cet endroit. Aussi tout ensemble de caractères prédéfinis.

classe dérivée

  • Une classe qui définit certaines de ses méthodes dans les termes d'une classe plus générique, appelée classe de base. Remarquez que les classes ne sont par classifiées exclusivement en classes de base ou classes dérivées ; une classe peut simultanément fonctionner des deux manières, ce qui est typique.

classe parent

  • Voir classe de base.

clef

  • L'index de type chaîne d'un hachage, utilisé pour chercher une valeur associée à une certaine clef.

client

  • Dans un contexte de réseau, un processus qui prend contact avec un processus serveur pour échanger des données et éventuellement recevoir un service.

cloisonneur

  • Un cluster utilisé pour restreindre la portée d'un modificateur d'expression rationnelle.

cluster

  • Un sous-motif entre parenthèses utilisé pour grouper les parties d'une expression rationnelle dans un seul atome.

CODE

  • Mot retourné par la fonction ref appliquée à la référence d'une sous-routine. Voir aussi CV.

commande

  • En programmation shell, la combinaison syntaxique d'un nom de programme avec ses arguments. Plus généralement, tout ce que l'on entre dans un shell (un interpréteur de commandes) qui fait quelque chose. En programmation Perl, une instruction, qui peut démarrer par une étiquette et se termine typiquement par un point-virgule.

commentaire

  • Une remarque qui n'affecte pas la signification du programme. En Perl, un commentaire commence par un caractère # et continue jusqu'à la fin de la ligne.

compatibilité ascendante

  • Possibilité de faire tourner ses anciens fichiers sources sur les nouvelles versions de l'interpréteur, car nous n'avons cassé ni les fonctionnalités ni les bogues sur lesquels reposent les anciens programmes.

compilateur

  • Au sens strict, un programme qui en absorbe un autre et recrache un troisième fichier contenant ce programme sous une forme plus exécutable, contenant typiquement des instructions en langage machine natif. Le programme perl n'est pas un compilateur selon cette définition, mais il en contient un qui prend un programme et le métamorphose sous une forme plus exécutable (arbres syntaxiques) à l'intérieur du processus perl lui-même, que l'interpréteur interprète ensuite. Il existe néanmoins des modules d'extension qui permettent à Perl d'agir plus comme un vrai compilateur. Voir le chapitre 18, Compilation.

compilation

  • Le moment où Perl essaye de comprendre ce que signifie le programme, par opposition à celui où, croyant savoir ce qu'il signifie, il essaye de faire ce que le programme lui dit de faire. Voir exécution.

compositeur

  • Un « constructeur » pour un référent qui n'est pas vraiment un objet, comme un tableau ou un hachage. Par exemple, une paire d'accolades agissent comme compositeur de hachage, et une paire de crochets agissent comme compositeur de tableau. Voir Création de références au chapitre 8, Références.

concaténation

  • Coller le museau d'un chat à la queue d'un autre. On peut remplacer « chat » par « chaîne ».

condition

  • Avec des « si ». Voir contexte booléen.

connexion

  • En téléphonie, le circuit électrique temporaire entre les téléphones de l'appelant et de l'appelé. En réseau, le même genre de circuit temporaire entre un client et un serveur.

consacrer

  • Perl va classer un référent pour qu'il fonctionne comme un objet. Voir la fonction bless dans le chapitre 29.

constructeur

  • Toute méthode de classe, méthode d'instance ou sous-programme qui crée, initialise, consacre et retourne un objet. Le terme est quelquefois utilisé pour désigner un compositeur.

construction

  • Un ensemble syntaxique composé d'éléments plus petits. Également l'action de créer un objet grâce à un constructeur.

construire

  • Créer un objet avec un constructeur.

contexte

  • L'environnement. Le contexte donné par le code environnant détermine le genre de données qu'une expression doit renvoyer. Les trois contextes primordiaux sont le contexte de liste, le contexte scalaire et le contexte peu importe. Le contexte scalaire est parfois subdivisé en contexte booléen, contexte numérique et contexte de chaîne. Il existe aussi un contexte « peu importe » (qui est traité au chapitre 2, Composants de Perl, si cela vous importe).

contexte booléen

  • Un contexte scalaire particulier utilisé dans les conditions pour évaluer une valeur scalaire à vrai ou faux. À comparer à l'évaluation d'une chaîne ou d'un nombre. Voir contexte.

contexte de chaîne

  • La situation dans laquelle l'environnement (le code appelant) attend d'une expression qu'elle renvoie une chaîne. Voir aussi contexte et contexte numérique.

contexte de liste

  • La situation dans laquelle un environnement (le code appelant) attend d'une expression qu'elle renvoie une liste de valeurs au lieu d'une valeur unique. Les fonctions qui désirent une LIST d'arguments indiquent à ses arguments qu'ils doivent produire une liste de valeurs. Voir également contexte.

contexte de tableau

  • Ancienne expression pour dire contexte de liste.

contexte numérique

  • La situation dans laquelle l'environnement (le code appelant) attend d'une expression qu'elle renvoie un nombre. Voir aussi contexte et contexte de chaîne.

contexte scalaire

  • La situation dans laquelle l'environnement (le code appelant) attend d'une expression qu'elle renvoie une valeur unique au lieu d'une liste. Voir également contexte et contexte de liste. Un contexte scalaire impose parfois des contraintes supplémentaires sur la valeur de retour, voir contexte de chaîne et contexte numérique. Nous parlons parfois d'un contexte booléen dans les conditions, mais cela n'implique aucune contrainte supplémentaire puisque toute valeur scalaire, qu'elle soit numérique ou chaîne, est déjà vraie ou fausse.

contexte vide

  • Une forme de contexte scalaire dans lequel une expression ne retourne aucune valeur et qui n'est utile que pour ses propres effets de bord.

continuation

  • Le traitement de plusieurs lignes physiques comme une seule ligne logique. Les lignes de Makefile sont continuées en mettant un antislash avant le saut de ligne. Les en-têtes de messages Internet sont continués en mettant un espace ou une tabulation après le saut de ligne. Les lignes Perl n'ont pas besoin d'une quelconque forme de marque de continuation, car les espaces (y compris les sauts de ligne) sont joyeusement ignorés. En général. Le cadavre d'un processus, sous la forme d'un fichier laissé dans le répertoire de travail du processus, généralement résultant de certaines formes d'erreur fatale.

conversion en chaîne

  • La production d'une chaîne pour représenter un objet.

correspondance

  • Voir recherche de correspondance.

CPAN

  • « Comprehensive Perl Archive Network » ou Réseau détaillé des Archives de Perl. Voir la préface et le chapitre 22, CPAN, pour les détails.

cracker

  • Une personne qui viole la sécurité des systèmes d'exploitation. Un cracker peut-être un vrai hacker ou simplement un script kiddie.

CV

  • Une définition de type de « valeur de code » (code value). Un CV est une sorte de SV.

datagramme

  • Un paquet de données, tel un message UDP, qui est transmis indépendamment de la couche applicative sur le réseau (ce sont des paquets IP encapsulés dans un protocole TCP et donc invisibles depuis votre programme.)

DBM

  • Signifie « Data Base Management » , un ensemble de routines qui émulent un tableau associatif avec des fichiers sur disque. Les routines emploient un système de hachage dynamique pour localiser n'importe quelle entrée en seulement deux accès disque. Les fichiers DBM permettent à un script Perl de conserver un hachage entre plusieurs invocations. Il est possible de lier par tie les variables hachage à diverses implémentations DBM ; voir AnyDBM_File(3) et l'entrée DB_File au chapitre 32, Modules standards.

débogueur symbolique

  • Un programme permettant l'exécution pas à pas d'un programme, en arrêtant pour afficher des choses ici et là pour voir si quelque chose a mal tourné. L'adjectif « symbolique » signifie que l'on peut discuter avec le débogueur en employant les mêmes symboles que ceux qui ont été utilisés pour écrire le programme.

décalage

  • Décalage à droite ou à gauche dans un mot de la mémoire, dont l'effet est de multiplier ou de diviser par une puissance de 2.

décalage à droite

  • Un décalage de bit qui divise un nombre par une puissance de 2.

décalage à gauche

  • Un décalage de bits qui multiplie un nombre par une puissance de deux.

déclaration

  • Une assertion de l'existence de quelque chose, et éventuellement de ce à quoi cela ressemble, sans présumer de ce qui va lui arriver, ni de quelle façon. Une déclaration ressemble à la partie d'une recette énumérant : « deux tasses de farine, un œuf, quatre ou cinq beaux têtards... » Voir son opposé instruction. Remarquez que certaines déclarations fonctionnent également comme des instructions. Les déclarations de sous-routines forment aussi une définition si le corps est fourni.

déclencheur

  • Un événement qui déclenche un handler.

décrémenter

  • Soustraire une valeur d'une variable comme dans « decrement $x » qui soustrait 1 ou « décrémenter $x de 3 ».

défaut (par)

  • Une valeur qui est choisie pour vous si vous n'en fournissez pas une vous-même.

défini

  • Possédant une signification. Perl pense que certaines des choses que les gens font n'ont aucune signification : en particulier l'utilisation d'une variable à laquelle n'a jamais été attribuée de valeur, et effectuer des opérations sur des données qui n'existent pas. Par exemple, si l'on essaye de lire des données après la fin d'un fichier, Perl renvoie une valeur indéfinie. Voir également faux et l'opérateur defined au chapitre 29.

délimiter

  • Un caractère ou une chaîne qui délimite un objet textuel de taille indéfinie que l'on ne doit pas confondre avec le séparateur ou terminateur. « Délimiter » veut simplement dire « entourer » ou « clôturer » (comme ces parenthèses le font).

déplacement

  • Ou offset : le nombre d'éléments à sauter après le début d'une chaîne ou d'un tableau pour arriver à une position spécifique. L'offset minimal est donc zéro et non un, car il n'y a rien à sauter pour arriver au premier élément.

déréférencer

  • Un joli terme informatique signifiant « suivre une référence vers ce sur quoi elle pointe ». Le préfixe « dé » indique qu'il s'agit d'enlever un niveau d'indirection.

descripteur

  • Voir descripteur de fichier.

descripteur de fichier

  • Le petit numéro qu'utilise le système d'exploitation pour garder la trace du fichier ouvert dont on s'occupe. Perl dissimule le descripteur de fichier dans un flux d'E/S standard, puis attache le flux à un handle de fichier.

destruction globale

  • Le ramasse-miettes des globales (et l'action de ces destructeurs) qui se produit quand l'interpréteur Perl est arrêté.

destructeur

  • Une méthode spéciale qui est appelée quand un objet le demande. La méthode DESTROY n'effectue pas la destruction à proprement parler. Elle donne l'occasion à la classe de faire un peu de ménage.

détruire

  • Désallouer la mémoire d'un référent (mais en appelant d'abord sa méthode DESTROY, si elle existe.)

diffuser

  • Envoyer un datagramme à plusieurs destinataires simultanément.

directive

distribuer

  • Envoyer une chose à sa destination correcte. Métaphore utilisée pour désigner le transfert d'un programme vers un autre par sélection dans une table de fonction de références ou bien comme dans le cas des méthodes d'objets, par le parcours d'un arbre d'héritage de classes.

distribution

  • Une version stable d'un système ou d'un logiciel. Par défaut, le code source est inclus. Dans le cas inverse, elle est dite « binary-only ».

document ici-même

  • Ainsi appelé en raison d'une construction similaire des shells qui prétendent que les lignes suivant « ici même » la commande sont un fichier séparé à donner à la commande, jusqu'à une chaîne servant de délimiteur de fin. En Perl, il ne s'agit que d'une forme élaborée de protection.

domaine public

  • Qui n'est possédé par personne. Perl fait l'objet d'un copyright, et n'est donc pas dans le domaine public ; il n'est que librement disponible et librement redistribuable.

drapeau

  • Nous évitons l'utilisation de ce terme qui veut tout dire : un sélecteur de la ligne de commande qui ne prend pas d'argument (tels -n et -p), un simple bit indicateur (tels O_CREAT et O_EXCL utilisés dans sysopen).

drôle de caractère

  • Quelqu'un comme Larry, ou les types qui lui servent d'amis. Ou bien, l'un de ces étranges préfixes devant les noms de variables en Perl.

dweomer

  • Un enchantement, une illusion, un phantasme, ou une acrobatie. Se dit d'un programme Perl qui ne fait pas ce que vous attendez de lui, mais plutôt quelque chose de l'ordre de la sorcellerie.

dwimmer

  • DWIN est un acronyme pour « Do What I Mean », principe selon lequel une instruction devrait faire ce que vous désirez, sans faire de chichis. Un morceau de code qui fait du « dwimming » est un « dwimmer ». Dwimming nécessite souvent beaucoup de travail en arrière plan et si ça se voit ça devient du dweomer.

éclectique

  • Dérivé de nombreuses sources. Certains diraient trop nombreuses.

édition de lien

  • Résolution de noms dans un fichier partiellement compilé afin de produire une image (presque) exécutable. L'édition de liens est statique ou dynamique (à ne pas confondre avec la portée statique ou dynamique).

effets de bord

  • Un effet secondaire qui se produit lors de l'évaluation d'une expression. Par exemple l'évaluation d'une simple affectation a pour « effet de bord » d'affecter une valeur à une variable (ce qui était bien votre intention première!). De même, l'affectation d'une valeur à la variable spéciale $| ($AUTOFLUSH) a pour effet de bord de forcer un vidage après chaque write ou chaque print sur le handle de fichier courant.

élément

  • Une brique de base. Quand on parle d'un tableau, l'un des items qui le composent.

emplacement d'objet indirect

  • Position syntaxique entre l'appel d'une méthode et ses arguments quand la notation indirecte est invoquée. La position se distingue des arguments par l'absence de virgule entre elle et l'argument suivant. STDERR est dans un emplacement indirect ici :
 
Sélectionnez
print STDERR "Debout! Réveillez-vous! Peur, Feu, Folie! Debout!\n";

en passant

  • Quand on change la valeur d'un objet au moment de sa copie (de l'expression, prise du pion en passant aux échecs).

encapsulation

  • La couche abstraite qui sépare l'interface de l'implémentation, et qui impose que tout accès à l'état d'un objet soit effectué au travers de méthodes exclusivement.

enregistrement

  • Ensemble de données reliées entre elles dans un fichier ou un flux, souvent associées avec une clef unique. Sous Unix, elles sont souvent rassemblées sur une ligne ou un dans un « paragraphe » (suite de lignes terminée par une ligne vide). Chaque ligne du fichier /etc/passwd est un enregistrement dont la clef est le login, et qui contient l'information de l'utilisateur.

enrobage

  • Un programme qui en lance un autre à votre place, en modifiant certaines des entrées ou des sorties pour mieux vous convenir.

entier

  • Un nombre sans partie fractionnaire. Un nombre pour dénombrer comme 1, 2, 3..., en incluant 0 et les nombres négatifs.

entrée standard

  • Le flux d'entrée par défaut d'un programme, qui doit si possible ne pas s'occuper du lieu de provenance des données. Représenté dans un programme Perl par le handle de fichier STDIN.

environnement

  • L'ensemble des variables d'environnement que le processus hérite de son parent. Accessible via %ENV.

EOF

  • Fin de fichier. Métaphore pour désigner la chaîne indiquant la fin d'un fichier ici-même

erreur

  • Voir exception ou erreur fatale.

erreur fatale

  • Une exception non traitée, qui provoque la fin du processus après impression d'un message sur la console d'erreur standard. Les erreurs dans un bloc eval ne sont pas fatales : le bloc se termine après avoir placé le message d'exception dans la variable $@ ($EVAL_ERROR). On peut lever explicitement une exception avec l'opérateur die qui peut être traitée dynamiquement par le bloc eval. S'il ne l'est pas, cela provoque une erreur fatale.

erreur standard

  • Le flux de sortie par défaut qui sert à faire des remarques désobligeantes qui ne sont pas destinées à la sortie standard. Représenté en Perl par le handle de fichier STDERR. Ce flux peut être utilisé explicitement, mais les opérateurs die et warn le font automatiquement.

errno

  • Le numéro de l'erreur renvoyé par un appel système UNIX quand il échoue. Perl se réfère à l'erreur par le nom $! (ou $OS_ERROR si l'on utilise le module English).

E/S standard

  • Une bibliothèque standard du C (« standard I/O ») servant aux entrées et aux sorties i vers le système d'exploitation (le « standard » des E/S standard n'a qu'un rapport marginal avec le « standard » des entrées et sorties standard). En général, Perl se base sur l'implémentation propre à chaque système d'exploitation, et les caractéristiques de tamponnage peuvent donc ne pas exactement correspondre d'une machine à l'autre. Cela n'influence normalement que l'efficacité et non la portabilité. Si les fonctions d'E/S standard tamponnent par bloc et qu'il serait souhaitable de vider les tampons plus souvent, il suffit de mettre la variable $| à une valeur vraie.

espace de noms

  • Un domaine de noms. Il n'y a pas besoin de se soucier de savoir si les noms d'un tel domaine ont été utilisés dans d'autres. Voir paquetage.

est une sorte de

  • Relation entre deux objets dans laquelle l'un est considéré comme une version plus spécifique de l'autre objet générique : « Un chameau est un mammifère ». L'objet générique étant une abstraction au sens platonique, on parle plutôt de relation entre une classe de base et une classe spécifique dite classe dérivée. Étrangement, les classes abstraites platoniques n'ont pas toujours des relations platoniques — voir la notion d'héritage.

étiquette

  • Nom donné à une instruction pour pouvoir y accéder partout ailleurs dans le programme.

étiquette de boucle

  • Un genre de clef ou de nom rattaché à une boucle pour que les instructions de contrôle de boucle puissent savoir quelle boucle elles doivent contrôler.

exception

  • Un joli nom pour une erreur. Voir erreur fatale.

exec

  • Stopper le programme du processus en cours pour le remplacer par un autre, tout en gardant les ressources en cours dans le processus (sauf son image mémoire).

exécuter

  • Exécution d'un programme ou sous-programme. (Rien à voir avec la fonction « tuer » kill, sauf si vous mettez en œuvre un handler de signal.)

exécution

  • Le laps de temps pendant lequel Perl essaye de faire ce que le script lui ordonne, par opposition à la période précédente pendant laquelle Perl essayait de savoir si le script avait un sens quelconque à l'exécution. Voir également compilation.

exporter

  • Rendre les symboles d'un module disponibles depuis un autre par la directive import.

expression

  • Tout assemblage de littéraux, variables, opérateurs, fonctions ou sous-programmes, effectué suivant les règles, quand on a besoin d'une valeur.

expression alerte

  • Une expression qui provoque un arrêt lorsque sa valeur change, ce qui permet de déboguer.

expression régulière

  • Une entité unique avec diverses interprétations, comme un éléphant. Pour un informaticien, il s'agit de la grammaire d'un petit langage dans lequel certaines chaînes sont légales et d'autres non. Pour les gens normaux, c'est un motif que l'on peut utiliser pour trouver ce dont on a besoin quand la cible varie selon les cas. Les expressions régulières en Perl sont loin d'être régulières au sens mathématique du terme, mais fonctionnent plutôt bien lorsqu'on les utilise correctement. Exemple d'une expression régulière : /Oh, m.*d../. Ce motif correspond à des chaînes comme « Oh, mais vous étiez dans le train allant à Lourdes » et « Oh, ma foi, il se fait tard ! ». Voir le chapitre 5.

extension

  • Un module Perl qui comporte du code C ou C++ compilé. Ou plus généralement, une option expérimentale qui peut être compilée et intégrée dans Perl, comme le multithreading.

false

  • En Perl, toute valeur qui ressemble à "" ou "0" dans un contexte de chaîne. Toute valeur indéfinie est donc fausse, car évaluée à "", mais toute valeur fausse n'est pas forcément indéfinie.

FAQ

  • Questions fréquemment posées (Frequently Asked Questions, ou Foire aux Questions) (même les réponses n'y sont pas forcément, surtout dans les FAQ de la version courante qui peuvent dater).

fermeture

  • Un sous-programme anonyme qui, généré à l'exécution, garde trace des identités des variables lexicales visibles de l'extérieur même après que ces variables lexicales sont devenues hors de portée. Elles sont appelées « fermetures » parce que ce genre de comportement donne aux mathématiciens un sentiment d'isolement.

fichier

  • Une collection de données nommée, généralement stockée sur disque dans un répertoire lui-même dans un système de fichiers. Ressemblant vaguement à un document, si on apprécie les métaphores d'ordre bureautique. Sous quelques systèmes d'exploitation comme UNIX, un même fichier peut en fait répondre à plusieurs noms. Certains fichiers sont spéciaux comme les répertoires et les périphériques.

fichiers d'en tête

  • Un fichier contenant certaines définitions requises qui doivent être incluses « entête » pour pratiquer certaines opérations obscures. Un fichier d'en-tête C possède une extension .h. Un fichier d'en-tête Perl possède une extension .ph. Voir l'opérateur require au chapitre 29. (Les fichiers d'en-tête ont été supplantés par le mécanisme de module.)

fichier exécutable

  • Un fichier marqué, reconnu par le système d'exploitation comme exécutable. Simplement appelé « exécutable ».

fichier normal

  • Un fichier qui n'est pas un répertoire, un périphérique, un tube nommé, une socket ou un lien symbolique. Perl utilise l'opérateur de test de fichier -f pour identifier les fichiers « normaux ».

FIFO

  • Premier entré, premier sorti, file d'attente. Voir aussi LIFO. Aussi l'autre nom pour un tube nommé.

fileglob

  • Une correspondance par « joker » sur des noms de fichier. Voir la fonction glob.

filtre

  • Transforme un flux d'entrée en f lux de sortie.

filtre source

  • Un module spécial qui opère un prétraitement sur votre script juste avant l'analyseur lexical.

flux

  • Un flux continu de données de type caractères ou octets entrant ou sortant d'un processus sans donner l'impression d'arriver paquet par paquet. C'est une sorte d'interface — l'implémentation sous-jacente est invisible, et peut fort bien grouper les données par paquets.

FMTEYEWTK

  • Plus que vous n'avez jamais espéré savoir. Traité exhaustif sur un sujet pointu, quelque chose comme une super FAQ. Voir Tom pour en savoir beaucoup plus.

fonction

  • Mathématiquement, une relation faisant correspondre un ensemble de valeurs de départ vers un ensemble de valeurs d'arrivée. Dans le langage des ordinateurs, se réfère à un sous-programme ou un opérateur, avec ou sans valeurs d'entrée (appelées arguments) qui retourne une valeur.

fonction de rappel

  • Un handler déclaré dans une autre partie du programme et qui peut être déclenché par un code différent lorsqu'un événement se produit.

fork

  • Créer un processus fils identique au processus père, du moins jusqu'à ce qu'il se fasse ses propres idées. Un thread avec sa mémoire locale.

format

  • Spécification indiquant combien d'espaces, de chiffres et de choses diverses il faut pour que tout ce que vous imprimez donne un résultat agréable à regarder.

freeware

  • Logiciel mis à libre disposition, parfois avec son code source. On l'appelle maintenant plutôt logiciel à source ouvert. Récemment, une tendance est apparue qui oppose les freewares aux logiciels à source ouverte, et qui réserve le terme freeware aux logiciels diffusés sous la licence GPL de la « Free Software Foundation ».

générateur de code

  • Système qui produit du code machine tel le code final d'un compilateur. Voir générateur de programme.

générateur de programme

  • Un système qui écrit du code pour vous dans un langage de haut niveau. Voir aussi générateur de code.

gestionnaire de signal

  • Un sous-programme qui, au lieu de se contenter d'être appelé de façon normale, attend dans son coin qu'un éclair se produise soudainement avant de daigner s'exécuter. En Perl, ces éclairs sont appelés des signaux, et elles sont distribuées avec la fonction prédéfinie kill. Voir le hachage %SIG dans le chapitre 28, Noms spéciaux, et la section Signaux dans le chapitre 16, Communication interprocessus.

GID

  • Group ID, identifiant de groupe ; sous UNIX, le numéro de groupe que le système d'exploitation utilise pour vous identifier, ainsi que tous les utilisateurs de votre groupe.

glob

  • Au sens strict, le caractère * du shell, qui recherche une correspondance avec un « glob » (une palanquée) de caractères quand on essaye de générer une liste de noms de fichiers. Plus généralement, le fait d'utiliser des globs et des symboles similaires afin d'effectuer des recherches de correspondances. Voir aussi fileglob et typeglob.

global

  • Ce que l'on peut voir de partout, concernant en général les variables et les sous-programmes visibles de partout dans le programme. En Perl, seules certaines variables sont vraiment globales ; la plupart des variables (comme tous les sous-programmes) sont locales au paquetage courant. Les variables globales peuvent être déclarées avec our. Voir Déclarations globales dans le chapitre 4, Instructions et déclarations.

granularité

  • La taille des objets avec lesquels vous travaillez.

grep

  • Vient de la vieille commande UNIX « Recherche globale d'une expression régulière et impression » (« Global search for a Regular Expression and Print »), utilisé maintenant pour tout type de recherches textuelles. Perl possède une fonction grep prédéfinie qui cherche dans une liste la correspondance suivant certains critères, alors que le programme grep (1) cherche les lignes qui correspondent à une expression régulière dans un ou plusieurs fichiers.

gros-boutiste

  • Décrit les ordinateurs qui rangent l'octet du poids le plus fort d'un mot à une adresse plus basse que l'octet du poids le plus faible, souvent considérés comme supérieurs aux ordinateurs petit-boutiste. D'après Swift : quelqu'un qui mange les œufs à la coque par le grand bout. Voir aussi petit-boutiste.

groupe

  • Un ensemble d'utilisateurs dont on fait partie. Sous certains systèmes d'exploitation (comme UNIX), il est possible de donner certaines permissions d'accès fichier aux autres membres de son groupe.

groupe de sélecteurs

  • La combinaison de plusieurs sélecteurs d'une commande (i.e -a -b -c) en un seul (i.e -abc). Un sélecteur avec argument doit être placé en dernier.

GV

  • Une « valeur glob » (glob value), signifiant un typeglob. Un GV est une sorte de SV.

hachage

  • Une liste nommée de paires clef/valeur, arrangée de telle manière qu'il soit facile d'utiliser une clef pour trouver sa valeur associée ; une relation binaire, pour les utilisateurs de bases de données. Ce glossaire ressemble à un hachage, où le mot à définir est la clef et la définition est la valeur. Un hachage est parfois également appelé un « tableau associatif » en six syllabes (ce qui est une bonne raison pour l'appeler un hachage).

hacker

  • Personne pugnace à résoudre les problèmes techniques, quel que soit le sujet qu'il s'agisse de jouer au golf, de combattre des orques ou de programmer. Hacker est un terme neutre, moralement parlant. Les bons hackers ne doivent pas être confondus avec les crackers fous ou les script kid-dies incompétents. Si vous les confondez, nous vous considérons comme fou ou incompétent.

handle de fichier

  • Ce avec quoi on sélectionne un fichier. Ou bien, un nom (qui n'est pas nécessairement le vrai nom du fichier) qui représente une instance donnée d'ouverture d'un fichier jusqu'à ce qu'il soit fermé. Si l'on doit ouvrir et fermer plusieurs fichiers à la suite, il est possible d'ouvrir chacun d'entre eux avec le même handle, ce qui fait que l'on n'a pas à réécrire du code pour traiter chacun d'entre eux.

handle de fichier indirect

  • Une expression dont la valeur est un handle de fichier : une chaîne (nom de handle de fichier), un typeglob, une référence de typeglob, ou un objet de bas niveau du module IO.

handle de répertoire

  • Un nom représentant une instance donnée de répertoire ouvert, jusqu'à ce qu'il soit fermé. Voir la fonction opendir.

handler

  • Un sous-programme ou méthode appelé par Perl quand votre programme doit répondre à un événement interne tel un signal, ou bien la rencontre avec un opérateur de surcharge. Voir aussi fonction de rappel.

héritage

  • Ce que nous laissent nos ancêtres, en termes génétiques ou autres. Si vous êtes une classe, vos ancêtres sont appelés classes de base et vos descendants classes dérivées. Voir aussi l'héritage simple et héritage multiple.

héritage multiple

  • Les caractéristiques de votre mère et de votre père, mélangées de façon imprévisible (voir héritage et héritage simple). Dans les langages informatiques (y compris Perl), la notion selon laquelle une classe donnée peut avoir plusieurs ancêtres directs ou classes de base.

héritage simple

  • Les caractéristiques héritées de votre mère, si elle vous a raconté que vous n'aviez pas de père (voir également héritage et héritage multiple). Dans les langages informatiques, la reproduction des classes est asexuée, et une classe donnée ne peut avoir qu'un seul ancêtre direct ou classe de base. Perl ne connaît pas ces restrictions, même si c'est possible de faire de cette manière.

hexadécimal

  • Un nombre en base seize, parfois raccourci en « hexa ». Les chiffres allant de dix à quinze sont conventionnellement représentés par les lettres allant de a à f. Les constantes hexadécimales commencent par 0 en Perl. Voir aussi la fonction hex au chapitre 29.

hôte

  • L'ordinateur sur lequel résident un programme ou des données.

HV

  • Abréviation de « hash value » (valeur de hachage), qui se réfère à l'un des types de données internes de Perl. Un HV est une sorte de SV.

identificateur

  • Un nom légalement formé pour tout ce qui peut intéresser un programme informatique. De nombreux langages (y compris Perl) autorisent les identificateurs commençant par une lettre et contenant des lettres et des chiffres. Perl considère également le caractère souligné comme une lettre valide. (Perl dispose aussi d'une notation complexe avec les noms qualifiés.)

impatience

  • La colère qui vous saisit quand l'ordinateur paresse. Vous êtes alors poussé à écrire des programmes qui ne se contentent pas de répondre à vos besoins, mais aussi à les anticiper. Idéalement. En conséquence, la deuxième grande vertu du programmeur. Voir également paresse et orgueil.

implémentation

  • La manière dont un morceau de code fait réellement son travail. Les utilisateurs n'ont pas à s'occuper des détails de l'implémentation à moins qu'elle ne soit disponible à travers son interface.

importer

  • Avoir accès à des symboles qui sont exportés depuis un autre module. Voir l'opérateur use au chapitre 29.

incrémentation magique

  • Un opérateur d'incrémentation qui sait comment ajouter 1 tant à une chaîne alphanumérique qu'à un nombre.

incrémenter

  • Augmenter une valeur d'une unité (ou de tout autre nombre, si spécifié).

indexation

  • À l'origine, rechercher une clef dans un index (comme un annuaire), mais de nos jours, il s'agit surtout d'utiliser une clef ou une position pour trouver la valeur correspondante, même alors qu'aucun index n'entre en jeu. La situation a tellement dégénéré que la fonction index de Perl se contente de localiser la position d'une chaîne dans une autre.

indice

  • Une valeur indiquant la position d'un élément d'un tableau.

indirection

  • Quelque chose qui indique où se trouve la valeur cherchée. Ce qui peut se faire avec des références symboliques ou des références dures.

infixe

  • Un opérateur qui se place entre ses opérandes, tel la multiplication dans 24 * 7.

inséré

  • Quand une chose est contenue dans une autre, même si c'est parfois surprenant : « J'ai inséré un interpréteur Perl dans mon éditeur ! ».

instance

  • Raccourci pour « instance de classe » qui signifie un objet de cette classe.

instruction

  • Une commande à l'ordinateur concernant ce qu'il faut faire ensuite, comme une étape dans une recette : « Ajouter du rhum à la pâte et mélanger ». À ne pas confondre avec une déclaration, qui ne dit pas à l'ordinateur de faire quoi que ce soit, mais d'apprendre quelque chose.

instruction de contrôle de boucle

  • Une instruction dans le corps de la boucle qui peut arrêter le bouclage ou sauter une itération. Voir la phrase du milieu de l'entrée précédente. N'essayez pas cela sur un vrai rouleau sans parachute.

instruction pendante

  • Une instruction simple, sans aucune accolade, après une condition if ou while. Le langage C les autorise, mais pas Perl.

instruction switch

  • Une construction de programmation qui permet d'évaluer une expression et, d'après la valeur de l'expression, d'effectuer un débranchement à choix multiple vers le code approprié pour cette valeur. Également appelé une « structure case » d'après la construction Pascal similaire. La plupart des instructions switch en Perl sont des énumérations for. Voir Structures de cas dans le chapitre 4.

interface

  • Les services qu'un morceau de code promet de fournir, en contraste de son implémentation, qu'il peut modifier à son gré.

interpolation

  • L'insertion d'un scalaire ou d'une liste au milieu d'une autre valeur, sans que cela se voie. En Perl, l'interpolation de variable se produit dans les chaînes entre guillemets doubles et dans les motifs, et l'interpolation de liste se produit dans la construction d'une liste à passer en paramètre à un opérateur de liste ou toute autre construction qui prend une LIST.

interpolation de variable

  • L'interpolation d'un scalaire ou d'un tableau en une chaîne.

interpréteur

  • Au sens strict, un programme qui lit un second programme et fait ce que ce dernier lui dit sans d'abord le transformer sous une forme différente, ce qui est le comportement des compilateurs. Perl n'est pas un interpréteur selon cette définition, car il contient un compilateur qui prend un programme et en produit un (arbre syntaxique), dans le processus Perl lui-même, qu'interprète ensuite la machine virtuelle Perl temps réel.

invocation

  • Le fait d'appeler une divinité, un démon, un programme, un sous-programme ou une fonction pour qu'il fasse ce qu'il a à faire. Les fonctions ou sous-programmes sont usuellement « appelés » alors que les méthodes sont « invoquées », ça sonne mieux.

I/O

  • Entrée depuis, ou sortie vers un fichier ou périphérique.

IO

  • Un objet I/O interne. Peut aussi vouloir dire objet indirect.

IP

  • Protocole Internet, ou propriété intellectuelle.

IPC

  • « Interprocess Communication », communication interprocessus.

itération

  • Faire une chose à répétition.

itérateur

  • Un machin de programmation spécial qui garde tout seul la trace de l'itération à l'endroit où l'on se trouve. La boucle Perl foreach contient un itérateur ; ainsi que le hachage, ce qui permet de lui appliquer l'opérateur each pour le parcourir.

IV

  • IV veut dire la Valeur interne Entière qu'un type scalaire peut porter, à ne pas confondre avec NV.

JAPH

  • « Just Another Perl Hacker », un bout de code trappu, mais illisible, qui lorsqu'exécuté s'évalue à cette chaîne. Souvent utilisé pour illustrer certaines particularités de Perl, et dans les concours de Perl obscurci.

langage rassembleur

  • Un langage, tel Perl, bon pour rassembler des choses différentes entre elles, qui n'étaient pas prévues pour s'assembler.

le plus à gauche, le plus long

  • Priorité d'une expression régulière pour établir la correspondance sur le motif le plus à gauche, et à partir de cette position d'essayer la plus longue (en supposant l'usage d'un quantificateur avide). Voir le chapitre 5 pour en savoir beaucoup plus sur le sujet.

lexème

  • Terme amusant pour dire token.

lexeur

  • Terme amusant pour dire analyseur lexical.

lexicale typée

  • Une variable lexicale déclarée avec un type classe : my Poney $bill.

librement diffusable

  • Signifie que l'on ne risque rien à en donner des copies piratées à des amis, même si cela se sait. N'hésitez pas à le faire pour Perl.

librement disponible

  • Signifie qu'il n'est pas besoin de payer pour l'obtenir, mais le copyright peut toujours rester propriété de quelqu'un d'autre (comme Larry).

lien

  • Utilisé comme nom, un répertoire représentant un fichier. Un fichier donné peut avoir plusieurs liens, comme quand plusieurs noms de l'annuaire se rapportent au même numéro de téléphone.

lien symbolique

  • Un nom de fichier supplémentaire qui pointe sur le vrai nom de fichier, lequel à son tour pointe sur le fichier. Quand le système d'exploitation essaye d'analyser un nom de chemin contenant un lien symbolique, il se contente de substituer le vrai nom et continue l'analyse.

lier

  • Associer une adresse réseau à une socket.

LIFO

  • Dernier arrivé, premier sorti. Voir aussi FIFO. Une LIFO est plutôt appelée une pile.

ligne

  • Sous UNIX, une séquence de zéro, un ou plusieurs caractères autres que le saut de ligne, terminée par un caractère saut de ligne. Sur les machines non UNIX, ce concept est émulé même si le système d'exploitation sous-jacent a sa propre idée sur la question.

lisible

  • 1) Fichier dont le bit d'autorisation adéquat est à 1, ce qui permet l'accès en lecture. 2) Programme informatique assez bien écrit pour que quelqu'un d'autre puisse revenir plus tard en ayant une chance de comprendre ce qu'il fait.

LIST

  • Une construction syntaxique représentant une liste d'expressions séparées par des virgules, dont l'évaluation produit une liste de valeurs. Chaque expression dans une LIST est évaluée dans un contexte de liste et interpolée en une liste de valeurs.

liste

  • Une liste ordonnée de valeurs.

liste nulle

  • Une valeur de liste de zéro élément, représentés en Perl par ().

littéral

  • Un token tel un nombre ou une chaîne qui vous donne une valeur effective au lieu de simplement contenir une valeur, ce que fait une variable.

littéral scalaire

  • Un nombre ou une chaîne entre apostrophes ; une vraie valeur dans le texte du programme, par opposition avec une variable.

local

  • Ne signifiant pas la même chose partout. Une variable globale Perl peut être rendue locale à une portée dynamique par l'opérateur local. Voir portée dynamique.

logiciel à source ouvert

  • Programmes dont le code source est librement disponible et que l'on peut redistribuer sans droits commerciaux attachés. Pour une définition plus détaillée, voir http://www.opensource.org/osd.html.

longueur zéro

  • Une assertion qui correspond à une chaîne nulle entre deux caractères.

lvalue

  • Terme utilisé par les puristes des langages informatiques (et abhorré par les puristes des langages humains) concernant un endroit auquel une nouvelle valeur peut être assignée, comme une variable ou un élément de tableau. Le « l » signifie « left », pour le côté « gauche » d'une assignation, un endroit typique pour une lvalue. Une fonction ou expression « normale » à laquelle on peut affecter une valeur comme dans pos($x) = 10.

magique

  • Sémantique attachée aux variables telles que $!, $0, %ENV, %SIG, ou tout autre variable liée. Des choses magiques se produisent lors de l'utilisation de ces variables.

Makefile

  • Un fichier qui contrôle la compilation d'un programme. Les programmes Perl n'en ont pas besoin en général, car le compilateur a beaucoup de self-control.

man

  • Le programme Unix qui affiche la documentation en ligne (pages de manuel).

marqué

  • Caractéristique de données pouvant provenir des doigts malodorants d'un utilisateur, et donc dangereux du point de vue d'un programme sécurisé. Perl effectue des vérifications d'entachement (« taint checks ») si on lance un programme setuid (ou setgid) ou si l'on active l'option -T.

membre

  • Voir variable d'instance.

mémoire

  • Concerne toujours la mémoire principale, jamais le disque. La mémoire virtuelle laisse croire que la mémoire est plus importante, mais on ne peut la substituer à la mémoire physique. La seule différence en cas de limite mémoire atteinte, est que le système mettra plus de temps à crasher, alors qu'avec la mémoire physique il s'arrêtera tout de suite.

mémoire partagée

  • Un morceau de mémoire accessible par deux processus différents qui autrement ne pourraient voir la mémoire de l'autre.

métacaractère

  • Un caractère qui n'est pas censé être traité normalement. Le choix des caractères à traiter de manière spéciale comme métacaractères varie grandement avec le contexte. Le shell peut en accepter certains, les chaînes Perl protégées par des apostrophes doubles en ont d'autres, et les motifs d'expression régulière connaissent ces derniers plus d'autres encore.

métasymbole

  • Une séquence de caractères dont le premier est un métacaractère.

méthode

  • L'action que fait un objet quand on lui demande. Voir le chapitre 12, Objets.

méthode d'accès

  • Une méthode permettant de lire ou de modifier une variable d'instance d'un objet.

méthode de classe

  • Une méthode dont l'invocant est le nom d'un paquetage et non une référence d'objet. Cette méthode s'applique à la classe entière.

méthode statique

  • Ne se dit pas. Voir méthode de classe

minimalisme

  • La croyance selon laquelle « moins c'est mieux ». Paradoxalement, lorsque l'on dit quelque chose dans un petit langage, on obtient un grand discours, et lorsque l'on dit la même chose dans un grand langage on obtient un petit discours. Allez savoir.

mode

  • Dans le contexte de l'appel système stat(2), se réfère au mot contenant les permissions et le type du fichier.

modificateur

  • Voir modificateur d'instruction, modificateur d'expression régulière, et modificateur de lvalue.

modificateur de lvalue

  • Pseudofonction adjective qui qualifie la portée d'une déclaration de variable. Il y a actuellement 3 modificateurs de lvalue : my, our, et local.

modificateur d'expression régulière

  • Une option sur un motif ou une substitution telle que /i pour rendre le motif insensible à la casse. Voir aussi cloisonneur.

modificateur d'instruction

  • Une condition ou une boucle que vous mettez après une instruction au lieu de la mettre devant, si vous voyez ce que je veux dire.

module

  • Un fichier qui définit un paquetage (presque) du même nom, qui peut aussi bien exporter des symboles que fonctionner comme une classe d'objet. (Le fichier principal .pm d'un module peut aussi inclure d'autres fichiers). Voir l'opérateur use.

modulo

  • Un entier, quand on est plus intéressé par le reste que par le quotient.

mongueur

  • Raccourci pour Perl mongueur, un fournisseur de Perl.

mortel

  • Une valeur temporaire prévue pour durer le temps d'une instruction.

mot

  • En « informaticianais », le bout de données de la taille la plus efficace pour un ordinateur, typiquement 32 bits à quelques puissances de deux près. Dans la culture Perl, se réfère souvent à un identificateur (avec ou sans caractère alphanumérique), ou à une chaîne de caractères sans espaces délimitée par des espaces ou des limites de chaîne.

mot-clé

  • Voir mots réservés.

mot simple

  • Un mot suffisamment ambigu pour que Perl l'estime illégal, lorsque la directive use strict est en vigueur. Sans cette directive, ce mot isolé est traité comme avec des guillemets.

motif

  • Modèle utilisé en reconnaissance de correspondance.

motif à l'exécution

  • Un motif qui contient une ou plusieurs variables à interpoler avant que ce motif soit analysé comme une expression régulière, et qui ne peut donc pas être analysé à la compilation, mais doit être réanalysé à chaque fois que l'opérateur de recherche de correspondance est évalué. Les motifs d'exécution sont utiles, mais coûteux.

mots réservés

  • Un mot-clef possédant une signification interne spécifique pour un compilateur, comme if ou delete. En de nombreux langages (pas en Perl), il est illégal d'utiliser des mots réservés pour nommer quoi que ce soit d'autre (c'est d'ailleurs pourquoi ils sont réservés, après tout). En Perl, il est simplement interdit de les utiliser pour nommer les étiquettes et les handles de fichiers. Aussi appelés mot-clé.

nettoyer

  • Dernière opération effectuée par un processus parent lors de la terminaison d'un processus fils de telle sorte qu'il ne reste pas en mémoire. Voir les appels des fonctions wait et wait.

NFS

  • Système de fichiers en réseau qui permet de monter un système de fichier distant comme s'il était local.

nom de commande

  • Le nom du programme en cours d'exécution, tel qu'il a été entré sur la ligne de commande. En C, le nom de la commande est passé au programme comme premier argument. En Perl, il est connu sous le nom de $0, et séparé des arguments.

nom de fichier

  • Le nom donné à un fichier. Ce nom est listé dans un répertoire, et on peut l'utiliser dans une instruction open pour indiquer au système d'exploitation quel fichier ouvrir exactement, et l'associer à un handle de fichier qui servira d'identité pour les accès suivants dans votre programme jusqu'à sa fermeture.

nombre en virgule flottante

  • C'est la « notation scientifique » qui permet de représenter les nombres avec une précision indépendante de l'ordre de grandeur (le point décimal f lotte). Perl effectue les calculs numériques avec des nombres à virgule flottante (parfois appelés des « f lottants ») lorsque les entiers ne suffisent plus. Ce sont des approximations des nombres réels.

normale

  • Qui peut servir de lvalue.

numéro de ligne

  • Le nombre de lignes avant celle-ci, plus 1. Perl conserve un numéro de ligne séparé pour chaque script ou fichier d'entrée qu'il ouvre. Le numéro de ligne du script courant est représenté par __LINE__. Le numéro de ligne d'entrée courant (du fichier qui a été le plus récemment ouvert par <FH>) est représenté par la variable $. ($INPUT_LINE_NUMBER). De nombreux messages d'erreur renvoient les deux valeurs, si elles sont disponibles.

NV

  • Valeur numérique interne du type virgule flottante qu'un scalaire peut représenter, à ne pas confondre avec IV.

objet

  • Une instance de classe. Quelque chose qui « sait » à quoi il ressemble, et ce qu'il peut faire, car il connaît sa classe. Le programme peut demander à un objet de faire des choses, mais c'est l'objet qui décide s'il veut le faire ou non. Certains sont plus accommodants que d'autres.

objet indirect

  • Terme grammatical indiquant le complément d'objet indirect bénéficiaire ou récepteur de l'action. En Perl, l'instruction print STDOUT "$foo\n"; peut être interprétée grammaticalement comme « verbe objet-indirect objet » où STDOUT est le récepteur de l'action print, et "$foo" est l'objet imprimé. De la même manière, quand on invoque une méthode on place l'invocant entre la méthode et les arguments :
 
Sélectionnez
$golem = newCreature::Pathetique"Smeagol";
donner $gollum "Poisson!";
donner $gollum "Tressor!";

octal

  • Un nombre en base huit. Seuls les chiffres allant de zéro à sept sont autorisés. Les constantes octales commencent par un zéro en Perl, comme pour 013. Voir aussi la fonction oct.

octet

  • Un bout de données long de huit bits la plupart du temps.

one-liner

  • Un programme entier concentré sur une ligne de texte.

opérande

  • Une expression qui donne une valeur sur laquelle un opérateur agit. Voir aussi précédence.

opérateur

  • Une fonction, généralement intégrée au langage, souvent avec une syntaxe ou un symbole spécial, qui transforme des entrées en sorties. Un opérateur donné peut attendre des types de données spécifiques en tant qu'arguments (opérandes), ainsi qu'en tant que résultat.

opérateur arithmétique

  • Un symbole tel que + ou ** qui indique à Perl d'effectuer un calcul arithmétique, tel un de ceux appris à l'école. Voir également opérateur.

opérateur binaire

  • Un opérateur qui prend deux opérandes.

opérateur circonfixe

  • Un opérateur qui entoure ses opérandes, comme l'opérateur d'angle ou les parenthèses, ou une embrassade.

opérateur d'adressage

  • Certains langages travaillent directement avec les valeurs des adresses mémoire, ce qui peut être dangereux. Perl fournit des gants isolants pour ce genre d'opération. L'opérateur le plus proche en Perl est le backslash qui s'évalue à une référence dure beaucoup plus sûre qu'une adresse mémoire.

opérateur d'affectation

  • Soit une affectation régulière, soit un opérateur composé, formé par l'association d'une affectation ordinaire avec un autre opérateur qui modifie la valeur d'une variable en place, c'est-à-dire relativement à son ancienne valeur. Par exemple, $a += 2 ajoute 2 à $a.

opérateur de liste

  • Un opérateur comme join ou grep qui agit sur une liste de valeurs. Habituellement utilisé pour désigner des opérateurs prédéfinis (tels print, unlink, et system qui ne nécessitent pas de parenthèses autour de leur liste d'arguments.

opérateur de test de fichier

  • Un opérateur interne de Perl qui permet de déterminer si quelque chose est vrai concernant un fichier, tel le test -o $filename qui retourne vrai si vous êtes propriétaire du fichier.

opérateur logique

  • Symboles représentant les concepts « et » , « ou » , « ou exclusif » et « non » .

opérateur relationnel

  • Un opérateur qui indique si une relation d'ordre donnée est vraie concernant une paire d'opérandes. Perl possède des opérateurs relationnels sur les chaînes et sur les nombres. Voir séquence de tri.

opérateur unaire

  • Un opérateur avec un seul opérande, comme ! ou chdir. Ce sont en général des opérateurs préfixés, ils précèdent leurs opérandes. Les opérateurs ++ et -- sont préfixés ou postfixés. (Leur position modifie leur sens.)

opération atomique

  • Lorsque Démocrite inventa le mot « atome » pour désigner la plus petite quantité de matière, il voulait dire litéralement insécable a-(privatif) suivi de tomos (sécable) : insécable. Une opération atomique est une action qui ne peut être interrompue.

options

  • Voir sélecteurs ou modificateur d'expression rationnelle.

orgueil

  • Fierté excessive, le genre de chose qui attire les foudres de Jupiter. Mais aussi une qualité qui fait écrire (et maintenir) des programmes dont les autres ne voudront pas dire de mal. En conséquence, la troisième grande vertu du programmeur. Voir également paresse et impatience.

pad

  • Contraction de « scratchpad », voir brouillon.

page de manuel

  • Une « page » des manuels UNIX (« manpage »), à laquelle on accède typiquement par la commande man(1). Une page de manuel contient un synopsis, une description, une liste de bogues, etc., et est généralement plus longue qu'une page. Il existe des pages de manuel documentant les commandes, les appels systèmes, les fonctions de bibliothèque, les périphériques, les protocoles, les fichiers, et ainsi de suite. Dans ce livre, toute partie de la documentation Perl standard telle perlop ou perldelta, est appelée page de manuel indépendamment du format utilisé par votre système.

paquet

  • Groupe de modules communs sur CPAN. (Dénomme parfois aussi un groupe d'options de la ligne de commande rassemblées en un groupe d'options.)

paquetage

  • Un espace de noms pour les variables globales, les sous-programmes et autres, qui les distinguent de ceux de même nom dans un autre espace. En un sens, seul un paquetage est global puisqu’on accède à un symbole de sa table en nommant ce paquetage. Mais dans un autre sens, tous les symboles des packages sont globaux, mais organisés comme il faut.

paquetage courant

  • Le paquetage dans lequel le code en cours est compilé. Parcourez votre code en arrière dans la portée lexicale courante et les portées englobantes. La première déclaration « package » que vous trouvez est le paquetage courant.

paramètre

  • Voir argument.

paresse

  • La qualité qui vous pousse à fournir des efforts surhumains dans le but de réduire le travail total. Vous êtes ainsi conduit à écrire des programmes qui, au total, économisent un dur labeur et que d'autres trouvent utiles, et à documenter ce que vous avez écrit pour ne pas devoir répondre sans arrêt aux mêmes questions. En conséquence, la première grande vertu du programmeur. Voir aussi impatience et orgueil.

patch

  • Dans le monde des hackers, une liste des différences entre deux versions d'un programme que l'on peut appliquer avec le programme patch(1) pour la mise à jour ou la correction d'un bogue.

PATH

  • La liste de répertoires qu'examine le système pour trouver un programme à exécuter. La liste est stockée dans une variable d'environnement, accessible en Perl par $ENV{PATH}.

périphérique

  • Un super matériel de la mort (comme un disque, une unité à bande, un modem ou un joystick) rattaché à l'ordinateur que le système d'exploitation essaye de faire ressembler à un fichier (ou à un groupe de fichiers). Sous UNIX, ces faux fichiers tendent à résider dans le répertoire /dev.

petit-boutiste

  • Décrit les ordinateurs qui rangent l'octet du poids le plus fort d'un mot à une adresse plus haute que l'octet du poids le plus faible, souvent considérés comme supérieurs aux ordinateurs gros-boutistes, d'après Swift : quelqu'un qui mange les œufs à la coque par le petit bout.

phase de compilation

  • Phase avant l'exécution. Voir aussi phase d'exécution. Elle effectue surtout de la compilation, mais elle peut également effectuer un peu d'exécution dans l'évaluation des blocs BEGIN, des déclarations use ou des sous-expressions constantes. Le code de démarrage et d'importation des déclarations use est aussi exécuté dans cette phase.

phase d'exécution

  • Dès que Perl commence à exécuter votre programme. Voir aussi phase de compilation. La phase d'exécution effectue surtout de l'exécution, mais elle peut effectuer de la compilation lorsqu'elle exécute les opérateurs require, do FILE, or eval STRING, ou lorsqu'une substitution utilise le modificateur /ee.

pile

  • Un dispositif qui permet d'empiler des objets dessus et plus tard de les récupérer dans l'ordre inverse. Voir LIFO.

pipeline

  • Une série de processus en ligne, reliés par des tubes, où chacun passe sa sortie au suivant.

plateforme

  • Le contexte hardware et software dans lequel un programme tourne. Un programme écrit dans un langage qui dépend d'une plateforme peut crasher si vous changez l'une des choses suivantes : la machine, le système d'exploitation, les bibliothèques, le compilateur ou la configuration du système. L'interpréteur perl doit être recompilé à chaque portage, car il est écrit en C, mais les programmes écrits en Perl sont dans une large mesure indépendants de la plateforme.

pod

  • Les balises pour inclure la documentation dans votre code. Voir chapitre 26, POD.

point d'arrêts

  • Une ligne marquée dans le source où le débogueur stoppe l'exécution, afin de pouvoir jeter un coup d'œil et voir si quelque chose a commencé à mal fonctionner.

pointeur

  • Une variable dans un langage comme C qui contient l'emplacement exact d'un autre élément. Perl gère les pointeurs en interne et l'on n'a pas besoin de s'en soucier. On utilise des pointeurs symboliques sous la forme de clefs et de noms de variables, ou de références en dur, qui ne sont pas des pointeurs (mais agissent comme tels et, en fait, contiennent des pointeurs).

polymorphisme

  • Le fait de pouvoir dire à un objet de faire quelque chose de générique, et l'objet l'interprétera de diverses façons, en fonction de sa forme (vient du Grec, formes nombreuses).

port

  • La partie de l'adresse d'une socket TCP ou UDP qui dirige les paquets vers le processus correct après avoir trouvé la bonne machine, un peu comme le numéro de poste de quelqu'un à qui l'on veut téléphoner au bureau.

portable

  • Il y a longtemps, du code compilable à la fois sur BSD et SysV. En général, du code qui est relativement facile à convertir pour fonctionner sur une autre plateforme. On peut considérer que tout code est portable, il suffit d'y mettre du sien.

portage

  • Se dit aussi de la conversion du code machine vers une autre machine.

portée

  • Distance à laquelle une variable reste visible, du point de vue d'une autre variable.

Perl comprend deux mécanismes de visibilité : la portée dynamique d'une variable locale, ce qui veut dire que le reste du bloc et tous les sous-programmes appelés dans le reste du bloc peuvent voir les variables locales au bloc ; et la portée lexicale des variables my, ce qui signifie que le reste du bloc peut voir les variables, mais ce n'est pas le cas pour les autres sous-programmes appelés par le bloc.

portée dynamique

  • Les variables à portée dynamique sont visibles dans tout le reste du bloc dans lesquelles elles ont été d'abord utilisées, ainsi que dans les sous-programmes appelés par le reste du bloc. Les variables à portée dynamique peuvent voir leur valeur temporairement modifiée (et restaurées implicitement plus tard) par une instruction local. Comparer avec portée lexicale. Employé plus généralement pour décrire la façon dont un sous-programme en train d'en appeler un autre « contient » ce sous-programme à l'exécution.

portée lexicale

  • La zone d'influence du Dictionnaire de l'Académie Française (connue également sous le nom de portée statique, vu la période de renouvellement du dictionnaire en question). De même, la propriété de variables rangées dans un dictionnaire propre à chaque bloc (espace de nom), qui ne sont visibles que du point de leur déclaration à la fin du bloc dans lequel elles ont été déclarées. — Syn. portée statique.— Ant. portée dynamique.

portée statique

  • Ne se dit pas. Voir portée lexicale.

porteur

  • Une personne qui « porte » le logiciel d'une plateforme vers une autre. Le portage de programmes écrits en C peut être un travail difficile, mais celui d'un interpréteur Perl est très complexe, mais la récompense est en proportion.

POSIX

  • La spécification des systèmes d'exploitation portables.

postcurseur

  • Une assertion qui cherche la chaîne à droite de la correspondance courante.

postfixe

  • Un opérateur qui suit son opérande comme dans $x++.

pp

  • Une abréviation pour le code « pushpop » qui implémente en C la machine à pile de Perl.

pragma

  • Un module de bibliothèque dont les suggestions et les conseils pratiques sont reçus (et parfois ignorés) par le compilateur. Les pragmas ont des noms en caractères minuscules.

précédence

  • Les règles de conduite qui, en l'absence d'autres directives, déterminent ce qui doit se produire en premier. Par exemple, en l'absence de parenthèses, la multiplication se produit toujours avant l'addition.

précurseur

  • Une assertion qui cherche la chaîne à gauche de la correspondance courante.

prédéfini

  • Une fonction prédéfinie du langage. Même si elle est surchargée, on peut toujours y accéder en qualifiant son nom avec le pseudopaquetage CORE::.

préfixe

  • Un opérateur qui précède son opérande, comme dans ++$x.

préprocesseur

  • Un processus d'aide pour préparer des données pour le processus courant. Souvent effectué à l'aide d'un tube. Voir aussi préprocesseur.

préprocesseur C

  • La première passe typique du compilateur C, qui traite les lignes qui commencent par un # pour compiler de manière conditionnelle et définir les macros, et qui effectue diverses manipulations du texte du programme en se basant sur les définitions courantes. Également connu sous le nom de cpp(1).

procédure

  • Un sous-programme.

processus

  • Une instance d'un programme en train de tourner. Sous des systèmes multitâches comme UNIX, plusieurs processus peuvent faire tourner le même programme de façon indépendante en même temps ; en fait, la fonction fork est conçue pour en arriver à cet heureux état de fait. Sous d'autres systèmes d'exploitation, les processus sont parfois appelés « tâches » ou « jobs » souvent avec de faibles nuances de signification.

propriétaire

  • L'utilisateur unique (le super-utilisateur mis à part) qui exerce un contrôle absolu sur un fichier. Un fichier peut également appartenir à un groupe d'utilisateurs qui en partagent la propriété si le propriétaire réel le permet. Voir bits d'autorisation.

propriété

  • Voir variable d'instance ou propriété de caractère.

propriété de caractère

  • Une classe de caractère prédéfinie retournée par le métasymbole \p. La plupart de ces propriétés sont définies pour Unicode.

protocole

  • En réseau, une manière convenue d'envoyer et de recevoir des messages qui permet aux deux correspondants de ne pas trop se mélanger les pinceaux.

prototype

  • Partie optionnelle d'une déclaration de sous-programme indiquant au compilateur Perl le type et le nombre de ses paramètres réels, qui rend les sous-programmes semblables à des fonctions prédéfinies.

pseudofonction

  • Une construction qui ressemble à une fonction, mais qui n'en est pas une. Utilisé pour les modificateurs de lvalue comme my, pour les modificateurs de contexte comme scalar, et pour les constructions comme q//, qq//, qx//, qw//, qr//, m//, s///, y/// et tr///.

pseudohachage

  • Une référence à un tableau dont le premier élément contient une référence à un hachage. Un pseudohachage peut être considéré comme une référence à un tableau ou une référence à un hachage.

pseudo littéral

  • Un opérateur qui ressemble à un littéral, comme l'opérateur d'absorption de sortie, `commande`.

pumpkin

  • Un hypothétique « sceptre » qui se transmet d'une personne à l'autre dans la communauté Perl pour savoir qui gouverne tel ou tel domaine de développement.

PV

  • Abréviation de « pointer value », qui signifie char* en Jargon Interne Perl.

qualifié

  • Nom défini complètement défini. Le symbole $Foo::bar est qualifié ; $bar ne l'est pas. Un nom de fichier qualifié est le chemin complet depuis la racine des répertoires.

quantificateur

  • Composant d'une expression régulière spécifiant le nombre d'occurrences d'un atome.

quartet

  • La moitié d'un octet, équivalent à un chiffre hexadécimal, et qui vaut quatre bits.

ramasse-miettes

  • Une fonctionnalité de certains langages de programmation, qui devrait plutôt s'appeler « Maman va ranger la chambre ». Ce n'est pas exactement ce que fait Perl, mais il se fie à un mécanisme de comptage de références pour laisser les lieux aussi propres en sortant qu'en entrant. Cependant, si ça peut vous rassurer quand l'interpréteur sort, un vrai ramasse-miettes est lancé pour s'assurer que des références circulaires (entre autres) ne traînent pas dans les coins.

recherche de correspondance

  • Prendre un motif, exprimé par une expression régulière, et l'essayer de diverses manières sur une chaîne pour voir s'il y a moyen de le faire correspondre. Souvent utilisé pour extraire des informations intéressantes d'un fichier.

reconnaissance de motif progressive

  • Une reconnaissance de motif qui reprend à partir de là où il s'est arrêté .

récursion

  • L'art de définir un chose (au moins partiellement) en fonction d'elle-même, ce qui dans un dictionnaire est absolument exclu, mais qui dans un programme d'ordinateur équivaut à une boucle infinie avec une condition d'arrêt exceptionnelle, en faisant attention d'atteindre un jour cette condition.

référence

  • Un endroit où l'on trouve un pointeur vers des informations stockées ailleurs (voir indirection). Les références existent sous deux formes, références symboliques et références en dur.

référence arrière

  • Une sous-chaîne capturée par un motif partiel entre parenthèses simples, à l'intérieur d'une regex. Les termes (\1, \2, etc.) mémorisent une référence pour les occurrences correspondantes des sous-motifs. Hors du motif, les variables nombres $1, $2, etc.) référencent les mêmes valeurs, tant que le champ dynamique du motif est valable.

référence en dur

  • Une valeur scalaire contenant l'adresse réelle d'un référent, telle que la renvoie le compteur de références. (Certaines références en dur sont contenues en interne, comme la référence implicite de l'un des emplacements de variable d'un typeglob à son référent correspondant). Une référence en dur est différente d'une référence symbolique.

référence soft

  • Voir référence symbolique.

référence symbolique

  • Une variable dont la valeur est le nom d'une autre variable ou d'un sous-programme. Déréférencer la première variable permet d'obtenir la seconde. Les références symboliques sont interdites avec le pragma use strict 'refs'.

référent

  • Ce à quoi réfère une référence, qui n'a pas forcément un nom. Les types de référents communs sont les scalaires, les tableaux, les hachages et les sous-programmes.

regex

  • Voir expression régulière.

remplacement

  • Dissimuler ou invalider une autre définition du même nom (à ne pas confondre avec la surcharge, qui se contente d'ajouter des définitions lesquelles sont distinguées par un autre moyen). Comme si ce n'était pas suffisant, nous employons ce mot avec deux définitions surchargées : pour décrire comment il est possible de définir un sous-programme personnel cachant une fonction interne du même nom (voir Supplanter des fonctions internes dans le chapitre 11, Modules) et pour décrire comment définir une méthode de remplacement dans une classe dérivée cachant la méthode d'une classe de base du même nom (voir le chapitre 12).

répertoire

  • Un endroit où résident les fichiers et éventuellement d'autres répertoires. Certains systèmes d'exploitation peuvent le nommer « dossier », « drawer » (tiroir) ou « catalogue ». Également appelé « directory » dans certains langages humanoïdes.

répertoire courant

  • Voir répertoire de travail.

répertoire de base

  • Le répertoire dans lequel on se trouve quand on s'est identifié sur le système. Sur un système UNIX, le nom est souvent placé dans $ENV{HOME} ou $ENV{LOGDIR} par le programme de login, mais on peut également le trouver avec getpwuid($<)[7]. (Certains systèmes sont dépourvus de cette notion.)

répertoire de travail

  • Votre répertoire courant à partir duquel les noms de fichiers relatifs sont calculés. Le système d'exploitation le connaît par la fonction chdir ou parce que votre processus parent a démarré à cet endroit.

RFC

  • « Request For Comment », appel à commentaires, qui sont des séries de documents standards importants, contrairement à ce que laisse supposer leur dénomination timide.

root

  • Le super-utilisateur (UID == 0). C'est aussi le répertoire racine du système de fichier.

RTFM

  • Sigle anglophone pour vous suggérer de bien vouloir lire le superbe manuel.

RV

  • Une Référence de Valeur interne du type de celle qu'un scalaire représente. Voir aussi IV et NV.

rvalue

  • Une valeur que l'on peut trouver du côté droit d'une assignation. Voir également lvalue.

saut de ligne

  • Un caractère unique représentant la fin d'une ligne, d'une valeur de 012 octal sous UNIX (mais 015 sur un Mac), et représenté par \n dans les chaînes Perl. Pour les machines sous Windows et certains périphériques physiques comme les terminaux, il est traduit automatiquement par votre bibliothèque C en saut de ligne et retour chariot, mais normalement aucune traduction n'est effectuée.

scalaire

  • Une valeur simple, comme un nombre, une chaîne ou une référence.

script

  • Un fichier texte qui est un programme à exécuter directement au lieu d'avoir à le compiler sous une autre forme avant l'exécution. Aussi, dans le contexte Unicode, un système d'écriture pour un langage particulier tel le Grec, le Bengali ou le Klingon.

script kiddie

  • Un cracker qui n'est pas un hacker, mais en connaît juste assez pour exécuter des scripts tout faits. En général, les programmes qu'il écrit sont de simples imitations de programmes existants.

sed

  • Un vénérable éditeur duquel Perl dérive certaines idées.

sélecteur

  • Une option de la ligne de commande qui modifie le comportement d'un programme, habituellement notée avec le signe moins.

sémaphore

  • Jolie sorte de signaux mutuels qui empêchent les threads ou les processus d'utiliser les mêmes ressources simultanément.

séparateur

  • Un caractère ou une chaîne qui sépare deux chaînes entre elles. La fonction split fonctionne sur les séparateurs. À ne pas confondre avec les délimiteurs ou les terminateurs. Le « ou » de la première phrase sépare deux alternatives.

séquence d'échappement

  • Voir métasymbole.

séquence de tri

  • L'ordre dans lequel les caractères sont triés. Utilisé par les routines de comparaison de chaînes pour décider, par exemple, où mettre dans le glossaire « séquence de tri ».

sérialisation

  • Mettre une structure de données en ordre linéaire de façon à pouvoir la stocker comme une chaîne sur un fichier disque ou dans une base de données ou bien l'envoyer dans un tube.

serveur

  • En réseau, un processus qui peut publier un service ou se contenter d'attendre à un endroit donné que des clients ayant besoin d'un service se manifestent.

service

  • Quelque chose que l'on fait à une personne pour lui faire plaisir, comme lui indiquer l'heure. Sur certaines machines, les services les plus connus sont listés par la fonction getserver.

setgid

  • Comme setuid, mais concernant les privilèges des groupes.

setuid

  • Un programme tournant avec les privilèges de son propriétaire au lieu des privilèges de l'utilisateur (ce qui est en général le cas). Décrit aussi le bit du mot mode (f lags de permissions) qui implémente cette fonctionnalité. Ce bit doit être explicitement activé par le propriétaire, et le programme doit être écrit de façon à ne pas donner plus de privilèges que nécessaire.

shebang

  • En Perl c'est la séquence #! qui indique au système où trouver l'interpréteur. Le terme vient de la construction du mot anglais « sharp » désignant # et de « bang » pour !.

shell

  • Un interpréteur de ligne de commande. Le programme qui donne une invite interactive, accepte une ou plusieurs lignes d'entrée et exécute les programmes mentionnés, leur fournissant leurs arguments et leurs données d'entrée. Les shells peuvent également exécuter des scripts contenant ces commandes. Sous le système d'exploitation UNIX, les shells habituels sont le Bourne shell (/bin/sh), le C shell (/bin/csh) et le Korn shell (/bin/ksh). Perl n'est pas strictement un shell car il n'est pas interactif (bien que des programmes Perl puissent être interactifs).

signal

  • Un éclair soudain ; ou plutôt un événement déclenché par le système d'exploitation, à n'importe quel moment, de préférence au moment où vous ne vous y attendez pas.

slurp

  • Lire un fichier en entier dans une chaîne en une opération.

socket

  • Un point de communication réseau entre deux processus, qui fonctionne comme un téléphone ou une boîte à lettres. La chose la plus importante concernant une socket est son adresse réseau (comme un numéro de téléphone). Des types différents de sockets ont des types d'adresse différents ; certains ressemblent à des noms de fichiers, d'autres non.

sortie standard

  • Le flux de sortie par défaut d'un programme, qui ne doit pas se préoccuper de la destination des données. Représenté dans un programme Perl par le handle de fichier STDOUT.

sous-chaîne

  • Une partie d'une chaîne, commençant à partir d'une certaine position de caractère (déplacement), et courant sur un certain nombre de caractères.

sous-classe

  • Voir classe dérivée.

sous-motif

  • Composant un motif d'une expression rationnelle

sous-motif de code

  • Sous-motif d'une expression rationnelle dont la fonction est d'exécuter du code Perl, par exemple les sous-motifs (?{...}) et (??{...}).

sous-programme

  • Une partie nommée d'un programme qui peut être invoquée d'un autre endroit du programme pour atteindre un but secondaire du programme. Un sous-programme est souvent paramétré pour accomplir des tâches différentes, mais en rapport selon les arguments fournis en entrée. Si la valeur que le programme retourne a une signification.

standard

  • Inclus dans la distribution officielle de Perl comme module standard, outil standard ou bien page de manuel standard.

statique

  • Variant lentement, comparé à autre chose. (Malheureusement, tout est relativement stable comparé à autre chose, à part certaines particules élémentaires, et encore). Dans les ordinateurs, où les choses sont censées varier rapidement, « statique » a une connotation péjorative, indiquant une variable, une méthode ou un sous-programme légèrement défectueux. Dans la culture Perl, nous évitons d'utiliser ce mot.

statut

  • La valeur renvoyée au processus père quand l'un de ses processus fils meurt. Cette valeur est placée dans la variable spéciale $?. Ses huit bits de poids fort sont le statut de sortie du processus défunt, et ses huit bits de poids faible identifient le signal (s'il y a lieu) dont est mort le processus. Sur les systèmes UNIX, cette valeur de statut est la même que le mot qui est renvoyé par wait(2). Voir system dans le chapitre 29.

statut de sortie

  • Voir statut.

STDERR

  • Voir erreur standard.

STDIN

  • Voir entrée standard.

STDIO

  • Voir E/S standard.

STDOUT

  • Voir sortie standard.

struct

  • Un mot-clef C présentant une définition ou un nom de structure.

structure

  • Voir structure de données.

structure de donnée

  • La façon dont les données s'articulent entre elles et la forme qu'elles constituent ensemble, par exemple un arbre de forme triangulaire ou une table rectangulaire.

structure stat

  • Un endroit spécial dans lequel Perl garde l'information sur le dernier fichier consulté.

substitution

  • Pour changer des parties de chaîne avec l'opérateur s///. Ne pas confondre avec l'interpolation de variable.

sucre syntaxique

  • Façon différente d'écrire quelque chose : raccourci.

superclasse

  • Voir classe de base.

super-utilisateur

  • La personne à qui le système d'exploitation laisse faire presque tout ce qu'il veut. Typiquement, l'administrateur système, ou quelqu'un prétendant l'être. Sur un système UNIX, l'utilisateur root. Sur les systèmes Windows c'est l'administrateur.

surcharge

  • Donner une nouvelle signification à un symbole ou à une construction. En fait, tous les langages pratiquent la surcharge à un degré ou un autre, car les gens savent distinguer les significations d'après le contexte.

surcharge d'opérateur

  • Un type de surcharge que l'on peut effectuer sur les opérateurs internes pour les faire fonctionner (de manière syntaxique) sur des objets comme s'il s'agissait des valeurs scalaires ordinaires, mais les règles sémantiques étant fournies par la classe. Ceci est activé par le pragma de surcharge-voir le chapitre 13.

SV

  • Abréviation de « scalar value ». Mais dans l'interpréteur Perl, tout référent est traité comme une sorte de SV, d'une certaine manière orientée objet. Toute valeur dans Perl est passée en tant que pointeur SV* en C. La struct SV connaît son propre type de référent, et le code est assez intelligent (espérons-le) pour ne pas essayer d'appeler une fonction de hachage sur un sous-programme.

symbole

  • En général, un token ou un métasymbole. Souvent utilisé pour désigner les noms que l'on trouve dans une table de symboles.

synchrone

  • Séquence d'événements dont l'ordre d'arrivée est déterminé.

syntaxe

  • Du grec « avec arrangement ». Comment des éléments (en particulier des symboles) sont assemblés entre eux.

système d'exploitation

  • Un programme spécial qui tourne sur la machine elle-même et cache les détails bas niveau de gestion des processus et des périphériques. Également utilisé dans un sens plus général pour indiquer une culture de programmation particulière. Le sens général peut être employé à divers degrés de spécificité. À un extrême, on peut dire que toutes les versions d'UNIX et de ses clones sont le même système d'exploitation (ce qui énerve beaucoup de gens, surtout les avocats). À l'autre extrême, une version donnée du système d'exploitation d'un fournisseur donné diffère de n'importe quelle autre version de ce fournisseur ou d'un autre. Perl est beaucoup plus portable entre les systèmes d'exploitation que de nombreux autres langages. Voir également architecture et plateforme.

système de fichiers

  • Un ensemble de répertoires et de fichiers résidant sur une partie du disque. Aussi appelé « partition ». Vous pouvez changer le nom d'un fichier ou bien le déplacer dans l'arborescence du système sans déplacer le fichier lui-même, du moins sur le système UNIX.

table de hachage

  • Une méthode utilisée en interne par Perl pour implémenter les tableaux associatifs (hachages) de manière efficace.

table de symboles

  • Là où un compilateur conserve ses symboles. Un programme comme Perl doit, d'une manière ou d'une autre, se souvenir de tous les noms de variables, de handles de fichiers et de sous-programmes qu'il a utilisés. Il place à cet effet les noms dans une table de symboles, qui est implémentée en Perl par une table de hachage. Il existe une table de symboles séparée pour chaque paquetage, qui donne à chaque paquetage son propre espace de noms.

tableau

  • Séquence de valeurs ordonnées de façon à pouvoir y accéder par indice entier qui indique la valeur du déplacement.

tableau associatif

  • Voir hash, svp.

tableau multidimensionnel

  • Un tableau avec plusieurs indices pour trouver un élément donné. Perl utilise des références à cet effet ; voir le chapitre 9, Structures de données.

tampon

  • Un lieu de stockage temporaire des données. Le tamponnage par bloc signifie que les données sont passées à leur destination quand le tampon est plein. Le tamponnage par ligne signifie qu'elles sont passées chaque fois qu'une ligne complète est reçue. Le tamponnage de commandes signifie qu'elles sont passées après chaque commande print (ou équivalente). Si la sortie n'est pas bufferisée, le système procède octet par octet sans utilisation d'une zone temporaire, ce qui est moins efficace.

tampon par bloc

  • Une méthode efficiente de tamponnage d'entrées/sorties qui utilise un bloc de données d'un coup. Perl l'utlise par défaut pour l'accès aux fichiers sur le disque. Voir tampon et tampon de commande.

tampon par commande

  • Un mécanisme en Perl qui vous permet de stocker la sortie d'une commande, et la vide immédiatement dans la même requête au système d'exploitation. Il est activé en positionnant la variable $| ($AUTOFLUSH) à une valeur vraie. C'est utilisé lorsque vous ne souhaitez pas que vos données soient là sans rien faire à attendre l'ordre du départ, ce qui peut se produire, car, par défaut, un fichier ou un tube utilisent un tampon par bloc.

tamponnage de ligne

  • Utilisé par un flux d'E/S standard de sortie qui vide (f lush) ses tampons (buffers) après chaque saut de ligne. De nombreuses bibliothèques d'E/S standard activent ainsi automatiquement la sortie allant au terminal.

TCP

  • Abréviation de « Transmission Control Protocol ». Un protocole au-dessus de IP, faisant apparaître un mécanisme de transmission de paquets non fiable comme un f lux d'octets fiable (enfin, en théorie).

terme

  • Court-circuit pour « terminal » c'est-à-dire la feuille d'un arbre syntaxique, et qui a le rôle d'un opérande pour les opérateurs de l'expression.

terminateur

  • Un caractère ou une chaîne qui indique la fin d'une autre chaîne. La variable $/ contient la chaîne qui termine l'opération readline, ce que la fonction chomp enlève de la fin. À ne pas confondre avec les délimiteurs ou les séparateurs. Le point à la fin de cette phrase est un terminateur.

ternaire

  • Un opérateur prenant trois opérandes.

test de la sous-classe vide

  • Le fait qu'une classe dérivée vide doit se comporter exactement comme sa classe de base.

texte

  • Normalement, une chaîne ou un fichier contenant des caractères imprimables.

thread

  • Comme un processus dédoublé, mais sans la protection mémoire de l'instruction fork. Un thread est plus léger, au sens que les threads peuvent être exécutés ensemble à l'intérieur du même processus en se disputant la même mémoire, à moins de prendre des précautions pour les isoler les uns des autres. Voir le chapitre 17, Threads.

tie

  • Le lien entre une variable magique et sa classe d'implémentation. Voir la fonction tie au chapitre 29 et au chapitre 14, Variables liées.

TMTOWTDI

  • « There's More Than One Way To Do It », la devise Perl. L'idée qu'il peut y avoir plusieurs façons de procéder pour résoudre un problème de programmation. (Cela ne veut pas dire que le fait d'avoir plusieurs possibilités est toujours une bonne chose, ou que toutes les possibilités sont aussi bonnes les unes que les autres. Cela veut juste dire qu'il n'y a pas de vérité unique.

token

  • Un morphème en langage de programmation : la plus petite unité de texte qui possède un sens.

tokenisation

  • Éclater un programme en mots et en symboles séparés, chacun étant appelé un token (symbole). Également appelé « lexicaliser » , auquel cas l'on obtient des « lexèmes » .

tokeniseur

  • Un module qui sépare le programme en séquences de tokens pour l'analyseur syntaxique.

traitement d'exception

  • La manière dont un programme réagit à une erreur. Le mécanisme de traitement d'exception de Perl est la construction eval.

tranche

  • Une partie des éléments d'une liste, d'un tableau ou d'un hachage.

translittération

  • Transformation d'une chaîne vers une autre par correspondance de chaque caractère vers un autre avec une fonction. Voir l'opérateur tr/// dans le chapitre 5.

transtypage

  • Conversion explicite de données d'un type à l'autre. C autorise ceci. Perl n'en a pas besoin. Et n'en veut pas.

troff

  • Un langage de mise en forme duquel Perl dérive sa variable $%, secrètement utilisé dans la production des livres de la série du Chameau.

tronquer

  • Vider un fichier de son contenu, soit automatiquement en l'ouvrant pour écriture ou explicitement par la fonction truncate.

true

  • Toute valeur scalaire qui ne vaut pas pas 0 ou "" s'évalue à true dans un contexte booléen.

tube

  • Une connexion directe entre l'entrée d'un processus et la sortie d'un autre sans fichier intermédiaire. Une fois qu'il est initialisé, les deux processus concernés peuvent lire et écrire dessus comme si c'était un fichier banal, avec quelques précautions.

tube nommé

  • Un tube avec un nom encapsulé dans le système de fichiers de façon à pouvoir être utilisé comme un fichier par le processus lecteur, ce qui rend la programmation indépendante des données sources, car il suffit de considérer la source comme un fichier.

type

  • Voir type de données et classe.

type de données

  • Un ensemble de valeurs possibles, avec toutes les opérations qui savent les gérer. Par exemple, un type de données numériques comprend un certain ensemble de valeurs sur lesquelles il est possible de travailler, ainsi que diverses opérations mathématiques associées qui n'auraient que peu de sens sur, par exemple, une chaîne comme « argh » . Les chaînes ont leurs opérations propres, comme la concaténation. Les types composés d'un certain nombre d'éléments plus petits ont généralement des opérations permettant de les composer et de les décomposer, et peut-être de les réarranger. Les objets qui modélisent les choses du monde réel ont souvent des opérations qui correspondent à des activités réelles. Par exemple, si l'on modélise un ascenseur, l'objet en question peut avoir une méthode ouvrir_porte().

typedef

  • La définition d'un type en langage C.

typeglob

  • Emploi d'un identificateur unique (par exemple *nom) pour désigner $nom, @nom, %nom, &nom ou simplement nom. Son mode d'utilisation détermine s'il est interprété comme tous ces derniers, ou comme un seul d'entre eux. Voir Typeglobs et handles de fichiers dans le chapitre 2.

typemap

  • Dans un module extension écrit en XS décrit comment transformer un type C vers un type Perl ou réciproquement.

UDP

  • « User Datagram Protocol », la façon typique d'envoyer des datagrammes sur Internet.

UID

  • Un identifiant d'utilisateur. Souvent employé dans le contexte de la propriété d'un fichier ou d'un processus.

umask

  • Le masque de bits d'autorisation pour créer des fichiers ou des répertoires pour déterminer à qui vous en refusez l'accès. Voir la fonction umask.

Unicode

  • Un ensemble de caractères qui contient tous les caractères du monde, plus ou moins. Voir http://www.unicode.org.

unité de compilation

  • Le fichier (ou la chaîne dans le cas d'un eval) dans le processus de compilation courant.

Unix

  • Un grand langage en constante évolution avec plusieurs syntaxes largement incompatibles, avec lequel n'importe qui peut définir n'importe quoi n'importe comment, ce dont peu se privent. Les UNIXophones le croient facile à apprendre, car on peut facilement le tordre à sa convenance, mais les différences entre les dialectes rendent les communications intertribales quasiment impossibles, et les voyageurs en sont souvent réduits à utiliser une version petit-nègre du langage. Pour être universellement compris, un programmeur shell UNIX doit étudier son art pendant des années. Nombreux sont ceux qui ont abandonné cette discipline et communiquent à présent via une sorte d'espéranto appelé Perl. Dans les temps anciens, UNIX représentait également du code que quelques personnes des Bell Labs avaient écrit pour utiliser un ordinateur PDP-7 qui ne faisait rien d'autre à ce moment-là.

v-chaîne

  • Une chaîne « vecteur » ou « version » spécifiée avec v suivie par une série d'entiers décimaux en notation pointée, par exemple, v1.20.300.4000. Chaque nombre devient un caractère avec sa valeur ordinale. (Le v est optionel quand il y a au moins trois caractères.)

valeur

  • Une donnée réelle, par contraste avec les variables, références, clefs, index, opérateurs ou toute chose pour accéder à une valeur.

valeur de liste

  • Une liste sans nom de valeurs scalaires temporaires qui peuvent être passées dans un programme par une fonction renvoyant une liste à une expression qui fournit un contexte de liste.

valeur de retour

  • La valeur produite par un sous-programme ou une expression à l'évaluation. En Perl, une valeur de retour doit être soit une liste, soit un scalaire.

valeur scalaire

  • Une valeur qui se trouve être scalaire par opposition à une liste.

variable

  • Un emplacement de mémoire qui porte un nom et qui peut contenir diverses valeurs, quand votre programme en ressent le besoin.

variable d'environnement

  • Mécanisme par lequel un agent de haut niveau, tel un utilisateur, peut transmettre l'état de ses variables de travail à un processus fils. Chaque variable d'environnement a la forme d'une paire clef/valeur comme dans un hachage.

variable d'instance

  • L'attribut d'un objet ; donnée mémorisée par l'instance de l'objet et non par la classe entière.

variable lexicale

  • Une variable ayant une portée lexicale, déclarée par my. Souvent juste appelé une « lexicale ». (La déclaration our déclare un nom à portée lexicale pour une variable globale, qui n'est pas une variable lexicale.)

variable scalaire

  • Une variable préfixée par un $, contenant une valeur unique.

variables magiques

  • Variables spéciales donnant des effets secondaires quand on y accède en lecture ou en écriture. Par exemple, en Perl, la modification des éléments du hachage %ENV modifie également les variables d'environnement correspondantes que les sous-processus utilisent. La lecture de la variable $! donne le numéro ou le message d'erreur UNIX courant.

variable statique

  • Rien de tel. Utilisez plutôt une variable lexicale pour une portée plus grande que votre sous-programme.

variadique

  • Se dit d'une fonction qui reçoit avec bonheur un nombre indéterminé d'arguments réels.

vecteur

  • Jargon mathématique pour désigner une liste de valeurs scalaires.

vidage

  • Le vidage d'un tampon, souvent avant qu'il ne soit rempli.

virtuel

  • Ce qui donne l'illusion de quelque chose qui n'a pas d'existence réelle par exemple la mémoire virtuelle qui simule la mémoire réelle (voir aussi mémoire). Le mot inverse est « transparent » qui donne une existence réelle à quelque chose qui n'apparaît pas comme la façon dont Perl gère l'encodage variable UTF-8.

WYSIWYG

  • « What You See Is What You Get » (Vous obtenez ce que vous voulez). Utilisé pour indiquer quelque chose qui s'affiche comme il est écrit, par exemple les déclarations Perl format. C'est aussi le contraire de la magie parce que chaque chose apparaît comme elle est réellement, comme dans la fonction open à 3 arguments.

XS

  • eXternal Subroutine, extraordinairement exportée, expéditivement excellente, expressément exécutée en C ou C++ existant, ou dans un nouveau et excitant langage d'extension appelé (de façon exaspérante) XS. Examinez le chapitre 21, Mécanismes internes et accès externes, pour une explication exacte.

XSUB

  • Un sous-programme externe défini dans XS.

yacc

  • « Yet Another Compiler Compiler ». Un générateur d'analyseur syntaxique sans lequel Perl n'aurait pas existé. Voir le fichier perly.y dans le source de la distribution Perl.

zombie

  • Un processus qui est mort, mais dont le père n'a pas été informé par la fonction wait ou waitpid. Si vous utilisez fork, vous devez ensuite nettoyer la mémoire avant de sortir sinon la table des processus va se remplir et risque de déborder ce qui risque de fâcher l'administrateur système.

précédentsommairesuivant

Vous avez aimé ce tutoriel ? Alors partagez-le en cliquant sur les boutons suivants : Viadeo Twitter Facebook Share on Google+   

  

Licence Creative Commons
Le contenu de cet article est rédigé par Larry Wall, Tom Christiansen et Jon Orwant et est mis à disposition selon les termes de la Licence Creative Commons Attribution - Pas d'Utilisation Commerciale - Pas de Modification 3.0 non transposé.
Les logos Developpez.com, en-tête, pied de page, css, et look & feel de l'article sont Copyright © 2018 Developpez.com.