• Aucun résultat trouvé

Guide Perl

N/A
N/A
Protected

Academic year: 2022

Partager "Guide Perl"

Copied!
6
0
0

Texte intégral

(1)

— d´ebuter et progresser en Perl —

Sylvain Lhullier

http://formation-perl.fr/

Version 1.2.4 - f´evrier 2012

(2)

http://formation-perl.fr/ Guide Perl c Sylvain Lhullier

(3)

Licence 7

Introduction 9

1 Premier pas 11

1.1 Ex´ecuter un programme en Perl . . . 11

1.2 Les types de donn´ees . . . 12

1.3 La notion de contexte . . . 13

2 Les scalaires 15 2.1 Les d´elimiteurs de chaˆınes de caract`eres . . . 15

2.2 D´eclaration et utilisation des variables . . . 16

2.3 La valeur undef. . . 16

2.4 Op´erateurs, fonctions et contexte num´eriques . . . 17

2.5 Op´erateurs, fonctions et contexte de chaˆınes . . . 17

2.6 Les op´erateurs de test . . . 18

3 Structures de contrˆole 21 3.1 Les instructions de test . . . 21

3.2 Les boucles . . . 23

3.3 Un exemple . . . 24

4 Listes et tableaux 27 4.1 Valeurs de listes . . . 27

4.2 Manipulation de tableaux . . . 28

4.3 Affectations . . . 29

4.4 Multi-d´eclaration . . . 30

4.5 Retour sur l’aplatissement des listes . . . 30

4.6 Absorption d’une liste par un tableau . . . 31

4.7 La structure de boucle foreach . . . 31

4.8 Fonctions de manipulation de tableaux . . . 32

4.9 L’op´erateur qw . . . 33

4.10 Joindre les ´el´ements dans une chaˆıne avec join . . . 34

(4)

http://formation-perl.fr/ Guide Perl c Sylvain Lhullier

5 Ecrire une fonction´ 37

5.1 D´eclaration . . . 37

5.2 Appel . . . 38

5.3 Visibilit´e des variables . . . 38

5.4 Une liste pour valeur de retour . . . 39

5.5 Premier exemple de fonction . . . 39

5.6 Autre exemple : une fonction r´ecursive . . . 40

5.7 Dernier exemple : le crible d’´Eratosth`ene . . . 40

6 Tables de hachage 43 6.1 D´eclaration et initialisation . . . 43

6.2 Acc´eder `a un ´el´ement . . . 44

6.3 Parcours . . . 45

6.4 Autovivification . . . 46

6.5 Existence et suppression d’une clef . . . 46

6.6 Tables de hachage et listes . . . 47

6.7 Exemples . . . 49

6.8 Tranches de tableau . . . 51

6.9 Tranches de table de hachage . . . 51

7 Manipulation de fichiers 53 7.1 Op´erateurs sur les noms de fichier . . . 53

7.2 La fonction glob . . . 54

7.3 Premiers exemples . . . 54

7.4 Ouverture de fichier . . . 55

7.5 Lecture, ´ecriture et fermeture de fichier . . . 56

7.6 Deuxi`eme exemple . . . 57

7.7 Ex´ecution de commandes avec open . . . 58

7.8 Ecrire une table de hachage sur disque avec les fichiers DBM . . . .´ 58

8 Expressions r´eguli`eres 61 8.1 Fonctionnalit´es . . . 61

8.2 Bind . . . 62

8.3 Caract`eres . . . 62

8.4 Ensembles . . . 63

8.5 Quantificateurs . . . 64

8.6 Ensembles (suite) . . . 64

8.7 Regroupement . . . 65

8.8 Alternatives . . . 65

8.9 Assertions . . . 65

8.10 R´ef´erences arri`eres . . . 66

8.11 Variables d´efinies . . . 66

8.12 Valeurs de retour de m// . . . 67

8.13 Exemples de probl`emes . . . 68

8.14 Solutions des probl`emes . . . 68

8.15 Choisir son s´eparateur . . . 70

8.16 Options . . . 71

(5)

8.17 Quantificateurs non-gourmands . . . 72

8.18 Substitution de variables dans les motifs . . . 73

8.19 Op´erateur tr . . . 73

8.20 Un dernier mot sur les expression r´eguli`eres . . . 74

9 R´ef´erences 75 9.1 R´ef´erences sur scalaire . . . 75

9.2 Utilisation des r´ef´erences sur scalaire . . . 76

9.3 R´ef´erences sur tableau . . . 77

9.4 R´ef´erences sur table de hachage . . . 79

9.5 R´eflexions `a propos des r´ef´erences . . . 80

9.6 R´ef´erences anonymes vers scalaire . . . 82

9.7 R´ef´erences anonymes vers tableau . . . 82

9.8 R´ef´erences anonymes vers table de hachage . . . 84

9.9 R´ef´erences anonymes diverses . . . 86

9.10 L’op´erateur ref . . . 88

9.11 R´ef´erences circulaires . . . 89

9.12 R´ef´erences sur fichiers . . . 91

9.13 R´ef´erences sur fonctions . . . 92

9.14 Un dernier mot sur les r´ef´erences . . . 92

10 Les modules 93 10.1 Utilisation d’un premier module . . . 93

10.2 D’autres modules . . . 94

10.3 O`u trouver les modules ? . . . 95

10.4 ´Ecrire un premier module . . . 96

10.5 Et les variables ? . . . 96

10.6 De la derni`ere ligne d’un module . . . 97

10.7 R´epertoires . . . 98

10.8 BlocsBEGIN etEND . . . 98

10.9 Introduction `a l’export de symboles . . . 99

10.10Export par d´efaut de symboles . . . 100

10.11Export individuel de symboles . . . 100

10.12Export par tags de symboles . . . 101

10.13Exemple complet d’exports . . . 102

10.14Fonctions inaccessibles . . . 103

10.15Documentation des modules . . . 103

10.16Un dernier mot sur les modules . . . 105

11 Programmation objet 107 11.1 Vous avez dit objet ? . . . 107

11.2 Pr´eparatifs . . . 108

11.3 ´Ecrire un constructeur . . . 108

(6)

Cliquez ici pour telecharger le PDF complet

Références

Documents relatifs

L'objectif de notre étude était d'évaluer le devenir néonatal des grossesses prolongées en fonction du mode de mise en travail (spontané, après maturation par prostaglandines

[r]

Si vous double-cliquez dans une cellule du résultat de la Table de pilote correspondant à un champ de données (y compris un total de ligne ou de colonne), cette fonction va

FCPU NC OGUWTG QÔ NC ECRCEKVÃ TÃUKFWGNNG FW EJGH ´ CIKT UGTC RNWU ITCPFG RCTEG SWG OKGWZ EQPPWG NC EQPPGEVKXKVÃ .C PWOÃTKUCVKQP FG NOGURCEG FG DCVCKNNG 0'$ NC TÃEQNVG GV NG

FGU CU[OÃVTKGU VGORQTGNNGU SWK UQPV GNNGUOÄOGU NOGZRTGUUKQP GV NOGZRTKOÃ

Maître de conférence à l’Ecole Nationale Supérieure d’Agronomie de Montpellier depuis 1986 et membre du laboratoire des Interactions Sols, Agrosystème Hydrosystèmes (LISAH,

[r]

On compte toujours le nombre effectif (le nombre réel) d'éléments lus. Une fois que ces tableaux sont créés, ils se trouvent en mémoire de l'ordinateur.. Avant de quitter le