1. Université De Béchar
Département Des Sciences Exactes
Promotion : 1ère année Master
Exposée Sur :
Langage Perl
Présenter Par:
Mr: Krim Rached
Charger Module :
Mr: Hoceini
2. Plan de Travail:
Introduction:
-Qu’est ce que perl
-Pourquoi Perl est devenu populaire
-Avantages de perl
-Désavantages de perl
-Ressources et versions
Structure de Données:
-Scalaires
-Les tableaux
Les instructions:
-L'instruction conditionnelle
-L'instruction répétitive
-Les fonctions
Conclusion
3. Introduction
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 des systèmes).
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.
4. Introduction
Pourquoi Perl est devenu populaire
• portabilité : Perl existe sur la plupart des plateformes aujourd’hui (Unix,
NT, Windows, Mac,VMS, Amiga, Atari ...)
• gratuité : disponible sur Internet (ainsi qu'un nombre impressionnant de
librairies et d'utilitaires)
• simplicité : Quelques commandes permettent de faire ce qu’un programme
de 500 lignes en C ou en Pascal faisait.
• robustesse : Pas d’allocation mémoire à manipuler, chaînes, piles, noms de
variables illimités...
5. Introduction
avantages de Perl
• écriture rapide d’applications puissantes qui peuvent tourner sur
plusieurs plate-formes, prototypage rapide
• Perl incorpore des capacité puissante de traitement des expressions
régulières. Ceci permet un traitement de chaînes de caractères très rapide,
fiable et flexible, surtout pour le filtrage de texte (pattern matching).
• Conséquemment, Perl est particulièrement utile pour le traitement de
chaînes de caractères.
• En fait, Perl à permis de rapidement traduire plusieurs documents texte
en HTML au début des années 1990,permettant au web de prendre
beaucoup d’expansion.
6. Introduction
Désavantages de Perl
• Ce n’est pas un langage élégant. Plutôt une combinaison de
plusieurs éléments provenant de différent langages et outils.
• Contient plusieurs façons différentes d’accomplir la même
chose (plusieurs instructions de boucle ou expressions
conditionnelles).
•
un langage peu lisible
• Les programmes ne sont pas compilé en fichier binaires, mais
sont plutôt exécuté directement à partir du texte.
• difficile de commercialiser des programmes développé en Perl.
7. Introduction
Perl: ressources et versions
• http://www.perl.org vous dira tout ce que vous avez toujours voulu savoir sur
le Perl.
• Perl 5.8.0 a été déployé en Juillet 2002.
• Version actuelle perl 5.18.2.1
• Perl 6 est la sixième version majeure du langage de programmation Perl Il
s'agit aussi d'une refonte profonde du langage, aussi bien dans sa conception
que dans son implémentation
• Perl 6 reste un langage générique et permet toujours de programmer
des unilignes, mais il facilite aussi l'écriture de programmes importants, grâce
à des fonctionnalités telles que le typage statique des données et un meilleur
support de la programmation orientée objet.
8. Structure de Données
Scalaire s (1/5)
Le nom d'un scalaire sera toujours une suite de caractères (chiffres, lettres et _).
Il est à noter que le langage différencie les majuscules des minuscules.
$Nom_de_variable
$a
$Valeur_0
Dans un calcul numérique, cette valeur est considérée comme étant égale à zéro
(0).
Dans un travail sur les chaines, cette valeur est considérée comme étant égale à
une chaîne vide ("") ou ('').
Si elle fait partie d'une expression booléenne, cette valeur sera considérée comme
ayant la valeur faux.
9. Structure de Données
Scalaire s (2/5)
Quelques Opérations sur les scalaires:
Affecter la valeur 32 à la variable a.
Affecter à b la valeur de a augmentée de 6.
Affecter à une variable sa propre valeur
multipliée par 2.
Affecter à ch la chaîne de caractères "Bonjour."
$a = 32;
$b = $a + 6;
$b = $b * 2
$ch = "Bonjour.";
Représentation des nombres :
En Perl, tous les nombres sont représentés en valeur flottante double précision. La
notion d'entier n'existe pas, un entier est lui aussi représenté en flottant double
précision. Il est possible de spécifier la base de numération dans laquelle on
souhaite déclarer une valeur.
10. Structure de Données
Scalaire s (3/5)
12
+10
-34
+3.14
5e15
033
x1F
(une valeur entière positive)
(une autre valeur entière positive)
(une valeur entière négative)
(un réel positif)
(5 fois 10 puissance 15)
(33 en code octal soit 27 en décimal)
(1F en hexa soit 31 en décimal)
Représentation des chaîne:
Une chaîne de caractères Perl comprend de 0 à n caractères ASCII dont le code
est compris entre 0 et 255. Il n'y a donc pas de restriction sur le caractère NUL
ou sur les autres caractères non imprimables. Il y a deux manières de spécifier la
valeur littérale d'une chaîne :
11. Structure de Données
Scalaire s (4/5)
Utiliser une simple quote comme délimiteur, le contenu est pris tel que, il n'y a pas
d'interprétation de caractères particuliers.
Dans ce cas pour introduire une simple quote dans la chaîne, il convient de la
précéder d'un antislash () , pour introduire un antislash, il faut le doubler.
'Bonjour'
'Bonjour n'
' L'école'
'c:windowssystem'
une chaîne
le n n'a pas de sens ici
le devant ' pour l'apostrophe
antislash doublés '' chaîne vide
Utiliser une double quote comme délimiteur, certaines séquences de caractères
seront interprétées. L'antislash () est utilisé ici comme caractère d'échappement
et s'utilise comme suit :
12. Structure de Données
Scalaire s (5/5)
"n"
"t "
"033"
"x1F"
"cA"
"" un """
une nouvelle ligne
une tabulation
un caractère codé en octal (33 ici)
un caractère codé en hexa (1F ici)
un caractère de Contrôle (Ctrl-A ici)
une double quote
Les chaînes de caractères présentées entre double quotes permettent également
d'interpréter le contenu de variables
13. Structure de Données
Les opérateurs pour les chaînes de caractères:
Bonjour"."Monsieur" <==>
"BonjourMonsieur"
Il'.' '."fait beau n"
"Il fait beau n"
"
<==>
Les opérateurs de comparaison de chaînes de caractères sont les
suivants:
eq (égalité)
gt (supérieur)
ne (différence)
le (inférieur ou égal)
lt (inférieur)
ge (supérieur ou égal)
14. Structure de Données
Les tableaux (1/2):
Une variable de type tableau est une liste de données scalaires (nombres et/ou chaînes).
Chaque élément du tableau est une variable scalaire accessible comme telle.
L'ensemble des éléments d'une liste seront repérés au moyen du caractère spécifique @.
Une liste étant obligatoirement composée de scalaires, on réfèrera chacun d'entre eux
comme on le fait habituellement pour les scalaires au moyen du caractère $.
dans la liste @l, le quatrième élément sera $l[3].
La numérotation des éléments commence à zéro.
Les éléments d'une liste ne sont pas obligatoirement du même type (numérique ou
chaînes).
15. Structure de Données
Les tableaux (2/2):
Instruction.
@v = (1,"Bonjour",3.14159,"Pi","e");
@vide = ();
@B = @A
$table[$i+2]=100;
@X = @Y [$i, , $i+3,21];
Action.
>Initialisation de la totalité d'une liste.
Initialisation d'une liste vide
Recopie d'une liste dans une autre.
Initialisation ou modification de la valeur d'un
élément.
Création d'une liste à partir de certains éléments
d'une autre.
Nous avons vu dans le cas des scalaires qu'il existait une variable standard
prédéfinie $_.
Dans le cas des listes cette variable existe aussi. Elle est référencée @_ et
contiendra toute liste qui n'aura pas été explicitement affectée.
16. Les instructions.
La notion de bloc
En Perl, toute instruction doit impérativement se terminer par un ; (point virgule).
Un bloc sera une suite d'instructions encadré par des accolades.
{ Instruction 1;
Instruction 2;
. . . .;
Instruction n; }
Les instructions sont exécutées dans l'ordre de la première à dernière
Syntaxiquement un bloc d'instructions peut être placé n'importe où dans le
programme..
17. Instructions
L'instruction conditionnelle.
Ce sont les instructions "if/then/else" et "unless".
if (expression) {
instruction-vraie_1; instruction-vraie_2;
instruction-vraie_3; }
else {
instruction-fausse_1; instruction-fausse_2;
instruction-fausse_3;< }
unless (expression) {
instruction-fausse_1;
instruction-fausse_2;
instruction-fausse_3; }
18. Instructions
L'instruction répétitive (1/3)
l’instruction «For» :
L'instruction for correspond à une boucle pour dans laquelle on fournit une
valeur de départ, une expression à évaluer et une expression permettant une
réinitialisation (incrément, décrément, ...).
for ($I=0; $I < 10; $I++) { ... }
Dans l'exemple ci-dessus,
on affecte 0 à I, on évalue ($I 10), si c'est vrai on exécute les instructions
incluses dans le bloc et on passe à l'incrémentation de I, si c'est faux on passe
à l'instruction suivante.
19. Instructions
L'instruction répétitive (2/3)
l’instruction «while » :
while (expression) {
instruction_1;
instruction_2; i
nstruction_3; }
Règle d'évaluation de l'expression:
Si le résultat est "vrai" alors le corps du while est exécuté une fois, cette
opération est ensuite répétée jusqu'à ce que l'expression prenne la valeur
"faux".Le contrôle passe alors à l'instruction qui suit le corps du while.
20. Instructions
L'instruction répétitive (3/3)
l’instruction «until» :
until (expression) {
instruction_1;
instruction_2;
instruction_3; }
Règle d'évaluation de l'expression:
Si le résultat est "faux" alors le corps du until est exécuté une fois, cette
opération est ensuite répétée jusqu'à ce que l'expression prenne la valeur
"vrai".Le contrôle passe alors à l'instruction qui suit le corps du until.
21. Les fonctions.
Déclaration de fonctions
La déclaration de fonction est de la forme:
sub Nom_de_la_fonction {
Instruction_1;
Instruction_2;
.....
Instruction_n; }
L'appel de la fonction se fera généralement :
&Nom_de_la_fonction;
22. Conclusion:
Perl est un langage naturel Ceci signifie que la grammaire ou syntaxe de Perl est
très riche et aussi très complexe. Mais si on connaît un peu la grammaire on
peut arrivé à s'exprimer.
Avec Perl, il y a plus d’une façon de le faire (TIM-toady) Ceci veut dire
qu'un programme peut être construit d'une infinité de manière différentes.
Perl rend le travail simple, facile et le travail difficile possible.