23
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

Langage Perl

Embed Size (px)

DESCRIPTION

Présentation de Langage PERL

Citation preview

Page 1: Langage Perl

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

Page 2: Langage Perl

Plan de Travail:

-Qu’est ce que perl -Pourquoi Perl est devenu populaire -Avantages de perl-Désavantages de perl-Ressources et versions

-Scalaires

-Les tableaux

-L'instruction conditionnelle-L'instruction répétitive

-Les fonctions

Structure de Données:

Introduction:

Les instructions:

Conclusion

Page 3: Langage Perl

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.

Introduction

Page 4: Langage Perl

• 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...

Pourquoi Perl est devenu populaire

Introduction

Page 5: Langage 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.

avantages de Perl

Introduction

Page 6: Langage Perl

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.

Introduction

Page 7: Langage Perl

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.

Introduction

Page 8: Langage Perl

Scalaire s (1/5)

Structure de Données

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.

Page 9: Langage Perl

Scalaire s (2/5)

Structure de Données

Quelques Opérations sur les scalaires:

Affecter la valeur 32 à la variable a. $a = 32;Affecter à b la valeur de a augmentée de 6. $b = $a + 6;

Affecter à une variable sa propre valeur multipliée par 2. $b = $b * 2Affecter à ch la chaîne de caractères "Bonjour." $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.

Page 10: Langage Perl

Structure de Données

Scalaire s (3/5)

12 (une valeur entière positive)+10 (une autre valeur entière positive) -34 (une valeur entière négative) +3.14 (un réel positif) 5e15 (5 fois 10 puissance 15) 033 (33 en code octal soit 27 en décimal) x1F (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 :

Page 11: Langage Perl

Structure de Données

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' une chaîne

'Bonjour \n' le \n n'a pas de sens ici ' L\'école' le \ devant ' pour l'apostrophe 'c:\\windows\\system' 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 :

Scalaire s (4/5)

Page 12: Langage Perl

Structure de Données

Scalaire s (5/5)

"\n" une nouvelle ligne "\t "    une tabulation "\033" un caractère codé en octal (33 ici) "\x1F" un caractère codé en hexa (1F ici) "\cA" un caractère de Contrôle (Ctrl-A ici) "\\" un \ "\"" une double quote

Les chaînes de caractères présentées entre double quotes permettent également d'interpréter le contenu de variables

Page 13: Langage Perl

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)

Page 14: Langage Perl

Structure de Données

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.

Les tableaux (1/2):

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).

Page 15: Langage Perl

Structure de Données

Instruction. Action.@v = (1,"Bonjour",3.14159,"Pi","e"); >Initialisation de la totalité d'une liste.@vide = (); Initialisation d'une liste vide@B = @A Recopie d'une liste dans une autre.

$table[$i+2]=100; Initialisation ou modification de la valeur d'un élément.

@X = @Y [$i, , $i+3,21]; Création d'une liste à partir de certains éléments d'une autre.

Les tableaux (2/2):

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.

Page 16: Langage Perl

Les instructions.

La notion de blocEn 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èreSyntaxiquement un bloc d'instructions peut être placé n'importe où dans le programme..

Page 17: Langage Perl

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; }

Instructions

Page 18: Langage Perl

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.

L'instruction répétitive (1/3)

l’instruction «For» :

Instructions

Page 19: Langage Perl

L'instruction répétitive (2/3)

while (expression) { instruction_1; instruction_2; instruction_3; }

l’instruction «while » :

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.

Instructions

Page 20: Langage Perl

l’instruction «until» :

L'instruction répétitive (3/3)

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.

Instructions

Page 21: Langage Perl

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;

Page 22: Langage Perl

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.

Page 23: Langage Perl