Introduction au langage Perl, tutoriel gestion de fichiers Perl document PDF.
I . INTRODUCTION
A. QU’EST CE QUE PERL ?
B. QUELLE UTILISATION ?
C. DEUX VERSIONS
II. APERÇU
III. TYPES DE DONNÉES
A. CONSTANTES
B. SCALAIRES
C. TABLEAUX, LISTES
D. TABLEAUX INDICÉS (OU ASSOCIATIFS)
E. REMARQUES
I V . EXPRESSIONS
A. OPÉRATEURS
B. COMPARAISONS
V . SYNTAXE GÉNÉRALE
A. EXPRESSIONS CONDITIONNELLES
B. BOUCLES
C. PROCÉDURES
V I . FONCTIONS PRÉDÉFINIES
A. SYSTÈME
B. MATHÉMATIQUE
C. CHAÎNES DE CARACTÈRES
D. TABLEAUX, LISTES
E. TABLEAUX INDICÉS
VII. GESTION DE FICHIERS
A. OUVERTURE
B. FERMETURE
C. LECTURE
D. ECRITURE
E. PARCOURS
F. FICHIER SPÉCIAL : <>
VIII. EXPRESSIONS RÉGULIÈRES
A. RAPPEL
B. REMPLACEMENT
I X . VARIABLES SPÉCIALES
X . TABLEAUX SPÉCIAUX
X I . EXEMPLES
A. PASSAGES DE PARAMÈTRES AU PROGRAMME
B. PARCOURS DE FICHIER
C. PROGRAMMATION OBJET
D. PERL ET CGI
E. ACCÈS AUX BASES DE DONNÉES : DBPERL
F. ACCÈS À UNE BASE DE DONNÉES DEPUIS WEB
XII. BIBLIOGRAPHIE
Résumé sur langage Perl
I. INTRODUCTION
A. Qu’est ce que PERL ?
P.E.R.L. signifie Practical Extraction and Report Language. Que l’on pourrait (essayer de) traduire par « langage pratique d’extraction et d’édition ».Créé en 1986 par Larry Wall (ingénieur système). Au départ pour gérer un système de « News » entre deux réseaux.
C’est :
• Un langage de programmation
• Un logiciel gratuit (que l’on peut se procurer sur Internet notamment)
• Un langage interprété :
⇒ pas de compilation
⇒ moins rapide qu’un programme compilé
⇒ chaque « script » nécessite d’avoir l’interpréteur Perl sur la machine pour s’exécuter.
B. Quelle utilisation ?
A l’origine Perl a été créé pour :
1. manipuler des fichiers (notamment pour gérer plusieurs fichiers en même temps),
2. manipuler des textes (recherche, substitution),
3. manipuler des processus (notamment à travers le réseau).
C. Deux versions
Deux versions principales de Perl :
1. Perl 4 : L’ancienne version (encore très utilisée)
2. Perl 5 : La nouvelle version qui intègre la programmation obje
II. Aperçu
Petit programme poli :
#!/bin/perl
print « Bonjour »;
III. Types de données
A. Constantes
1, -12345, 1.6E16 (signifie 160 000 000 000 000 000), ‘cerise’, ‘a’,
‘les fruits du palmier sont les dattes’
B. Scalaires
Les scalaires sont précédés du caractère $
$i = 0; $c = ‘a’;
$mon_fruit_prefere = ‘kiwi’;
$racine_carree_de_2 = 1.41421;
$chaine = ‘100 grammes de $mon_fruit_prefere’;
=> ‘100 grammes de $mon_fruit_prefere’
$chaine = « 100 grammes de $mon_fruit_prefere »;
=> ‘100 grammes de kiwi’
C. Tableaux, listes
En Perl, les tableaux peuvent être utilisés comme des ensembles ou des listes.
Toujours précédés du caractère « @ »
@chiffres = (1,2,3,4,5,6,7,8,9,0);
@fruits = (‘amande’,’fraise’,’cerise’);
@alphabet = (‘a’..’z’); Les deux points signifient de « tant à tant »
@a = (‘a’); @nul = ();
@cartes = (’01’..’10’,’Valet’,’Dame’,’Roi’);
on fait référence à un élément du tableau selon son indice par :
$chiffres[1] (=> 2)
$fruits[0] (=> ‘amande’)
REMARQUE : En Perl (comme en C) les tableaux commencent à l’indice 0
On peut affecter un tableau à un autre tableau :
@ch = @chiffres;
@alphanum = (@alphabet, ‘_’, @chiffres);
=> (‘a’,’b,’,…,’z’,’_’,’1′,’2′,’3′,’4′,’5′,’6′,’7′,’8′,’9′,’0′)
@ensemble = (@chiffres, ‘datte’, ‘kiwi’, 12.45);
Remarques :
On dispose d’un scalaire spécial : $#tableau qui indique le dernier indice du tableau (et donc sa
taille – 1) : $fruits[$#fruits] (=> ‘cerise’)
Possibilité de référencer une partie d’un tableau
@cartes[6..$#cartes]=> (’07’,’08’,’09’,’10’,’Valet’,’Dame’,’Roi’)
@fruits[0..1]=> (‘amande’, ‘fraise’)
D. Tableaux indicés (ou associatifs)
Ils sont toujours précédés du caractère % :
%prix = (‘amande’=>30, ‘fraise’=>9, ‘cerise’=>25);
En Perl 4 la notation est :
%prix = (‘amande’,30, ‘fraise’,9, ‘cerise’,25);
On référence ensuite un élément du tableau par : $prix{‘cerise’} (=> 25)
E. Remarques
1. Perl5 autorise les combinaisons, comme un tableau de tableaux :
%saisons = (
‘abricot’=>[‘été’],
‘fraise’=> [‘printemps’,’été’],
‘pomme’=> [‘automne’,’hiver’],
‘orange’=> [‘hiver’],
‘cerise’=> [‘printemps’],
‘amande’=> [‘printemps’,’été’,’automne’,’hiver’]);
ou
%departements = (
[‘Ain’, ‘Bourg-en-Bresse’, ‘Rhône-Alpes’],
[‘Aisne’, ‘Laon’, ‘Picardie’],
…
[‘Yonne’, ‘Auxerre’, ‘Bourgogne’]);
Et l’on accédera à la région du Finistère, ou à la préfecture d’Ille et Vilaine par $departements[29 – 1][2], $departements[35 – 1][1]
(On retranche un car l’indice des tableaux commence toujours à 0)
2. Pas de booléens (comme en langage C)
On utilise des entiers sachant que 0 est évalué comme étant faux (en fait il s’agit de la chaîne de
caractère vide) et 1 comme étant vrai.
$deux_plus_grand_que_un = (2 > 1);
if ($deux_plus_grand_que_un) {
print « Ok ! »;
}
Le programme répondra Ok !
3. Tableaux à deux dimensions
On peut utiliser les tableaux indicés pour simuler des tableaux à 2 (ou n) dimensions :
%table_multiplication = (‘1,1’=>1, ‘1,2’=>2, …,
‘9,8’=>72,’9,9’=>81);
$traduction{‘amande’,’anglais’} = ‘almond’;
$traduction{‘amande’,’italien’} = ‘amoria’;
$traduction{‘cerise’,’anglais’} = ‘cherry’;
On peut également utiliser les tableaux de tableaux de Perl 5 pour le faire :
@table_multiplication = (
[ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], # Multiplié par 0
[ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9], # Multiplié par 1
[ 0, 2, 4, 6, 8,10,12,14,16,18], # Multiplié par 2
…
[ 0, 9,18,27,36,45,54,63,72,81]); # Multiplié par 9
………
Introduction au langage Perl (474 Ko) (Cours PDF)