Langages de script - Perl - M2 Pro

Transcription

Langages de script - Perl - M2 Pro
Langages de script - Perl
M2 Pro - 2015/2016
Clément Plancq
[email protected]
LaTTiCe
23 sept 2015
Présentation de Perl (1)
Perl (Practical extraction and report language)
Qu’est-ce que c’est ?
Langage créé en 1987 par Larry Wall
Réunit le meilleur de C, sed, awk et des commandes Unix
Langage interprété
Multiplateforme (interpréteur disponible pour de nombreux
OS)
Présentation de Perl (2)
Pourquoi Perl ?
Nombreuses utilisations dont traitement des chaı̂nes de
caractères
Support des expressions régulières et Unicode
Langage à la syntaxe simple et rapide à écrire
Nombreux modules existants (voir CPAN)
Hello world
hello.pl
#! / u s r / b i n / p e r l
use s t r i c t ;
use w a r n i n g s ;
p r i n t ” H e l l o World \n” ;
Appel du script en ligne de commandes :
> perl hello.pl
ou
> chmod u+x hello.pl
> ./hello.pl
Syntaxe (1)
Un script perl est composé d’instructions et de commentaires
Une instruction se termine par un ;
Un commentaire commence par un #
exemple
#! / u s r / b i n / p e r l
use s t r i c t ;
use w a r n i n g s ;
p r i n t ” H e l l o World \n” ; #C e c i e s t une i n s t r u c t i o n
#C e c i e s t un c o m m e n t a i r e
Syntaxe (2) : fonctions
print est une fonction, les fonctions s’écrivent de la manière
suivante :
nom fonction(arg1, arg2, ..);
ou
$var = nom fonction(arg1, arg2, ..);
Perl dispose d’une grande bibliothèque de fonctions, on
accède à leur documentation avec la commande suivante :
> perldoc -f nom fonction
hello2.pl
#! / u s r / b i n / p e r l
use s t r i c t ;
use w a r n i n g s ;
p r i n t ” H e l l o World \n” ; #C e c i e s t une i n s t r u c t i o n
#C e c i e s t un c o m m e n t a i r e
Variable (1)
Un nom de variable est précédé d’un $, il doit être écrit avec
les caractères suivants : [a-zA-Z0-9 ]
Le caractère = est le signe d’affectation, il s’emploie de la
manière suivante :
nom de variable = valeur;
hello3.pl
#! / u s r / b i n / p e r l
use s t r i c t ;
use w a r n i n g s ;
my $name = ” Clement ” ;
p r i n t ( ” H e l l o $name\n” ) ;
Variable (2)
Perl est un langage non typé : une variable peut recevoir
différents types de données (entiers, flottants, caractère,
chaı̂nes de caractères)
hello4.pl
#! / u s r / b i n / p e r l
use s t r i c t ;
use w a r n i n g s ;
my $name = ” Clement ” ;
p r i n t ” H e l l o $name\n” ;
$name = 1 2 ;
p r i n t ” H e l l o $name\n” ;
$name = ’ c ’ ;
p r i n t ” H e l l o $name\n” ;
Opérateurs
Dans nom de variable = valeur; la valeur peut être le résultat
d’une opération
Opérateurs arithmétiques
Opérateurs sur chaı̂nes de
caractères
+ addition
- soustraction
* multiplication
/ division
% modulo (reste de la
division)
. concaténation de
chaı̂nes
Opérateurs booléens
&& et (conjonction)
|| ou (disjonction)
! non (négation)
Opérateurs
op.pl
#! / u s r / b i n / p e r l
# Usage d e s o p e r a t e u r s en P e r l
use s t r i c t ;
use w a r n i n g s ;
$var = 2 + 4;
$var2 = $var − 1;
$var = 4 / 3;
$reste = 4 % 3;
p r i n t ” 4 / 3 donne $ v a r , l e r e s t e e s t $ r e s t e \n” ;
$mess age = ” B o n j o u r ” ;
$name = ” Clement ” ;
$ p h r a s e = $me ssag e . ” ” . $name ;
p r i n t ” $ p h r a s e \n” ;
Structures conditionnelles
Structures simples
Structures imbriquées
if(condition){
instruction;
}
else{
default_instruction;
}
if(condition){
if(condition2){
instruction;
}
}
else{
instruction2;
}
if(condition){
instruction1;
}
elsif(condition2){
instruction2;
Opérateurs de comparaison
Comparaison de valeurs
numériques
Comparaison de chaı̂nes de
caractères
==
eq
!=
ne
< ou <=
lt
> ou >=
gt
Exercices (1)
1. Complétez
#! / u s r / b i n / p e r l
use s t r i c t ;
use w a r n i n g s ;
## D e v i n e z mon age
my $age = 3 4 ;
p r i n t ” D e v i n e z q u e l e s t mon age . \ n” ;
p r i n t ” E n t r e z un c h i f f r e : ” ;
my $ a g e e n t e r = <STDIN>;
chomp $ a g e e n t e r ;
i f ( $age == $ a g e e n t e r ) {
p r i n t ” Bravo ! Vous a v e z t r o u v e \n” ;
p r i n t ” J ’ a i $age a n s . \ n” ;
}
else . . .
Exercices (2)
2. Calculatrice
Écrivez un script perl qui implémente les quatre opérations
arithmétiques.
Les opérandes et l’opérateur sont demandés à l’utilisateur et lus
sur STDIN.
Références
man perlintro
http://perldoc.perl.org
http://sylvain.lhullier.org/publications/perl.html
Modern Perl

Documents pareils