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
Les Tableaux
Un tableau est une structure de données indicée
Un tableau contient une liste de variables scalaires
On appelle dimension d’un tableau le nombre de ses éléments
Les Tableaux (2)
Exemples
#! / u s r / b i n / p e r l
# Jouons avec l e s t a b l e a u x
use s t r i c t ;
use warnings ;
u s e Data : : Dumper ;
my @tab ; #D e c l a r a t i o n
@tab = ( ) ; #D e c l a r a t i o n d ’ un t a b l e a u v i d e
@tab = ( 1 , ’ e ’ , ” m a c h i n e ” , −4); #D e c l a r a t i o n e t a f f e c t a t i o n
p r i n t $ t a b [ 2 ] , ”\n” ; #A c c e s a l ’ e l e m e n t d ’ i n d i c e 2 ( m a c h i n e )
$ t a b [ 2 ] = ” machin ” ; #M o d i f i c a t i o n de l a v a l e u r de l ’ e l e m e n t d ’ i n d i c e 2
my $ d i m e n s i o n = s c a l a r ( @tab ) ; #R e n v o i e l e nombre d ’ e l e m e n t s du t a b l e a u
f o r e a c h my $ e l e m e n t ( @tab ){ #P a r c o u r s du t a b l e a u
p r i n t $ e l e m e n t , ”\n” ;
}
p r i n t Dumper @tab ; #”dump” du t a b l e a u
Les Tableaux (fonctions)
push Ajoute un ou plusieurs éléments à la fin d’un tableau (à droite)
push(@tab, ’essai’);
shift Supprime et renvoie le premier élément d’un tableau
$elem = shift(@tab);
unshift Ajoute un ou plusieurs éléments au début d’un tableau (à
gauche)
unshift(@tab, ’essai’);
pop Supprime et renvoie le dernier élément d’un tableau
$elem = pop(@tab);
splice Supprime du tableau le nombre d’éléments indiqué par le 3ème
paramètre à partir de l’indice indiqué par le 2ème paramètre
splice(@tab, 2, 1);
Les Tableaux (fonctions 2)
join Renvoie les éléments du tableau séparés par un caractère de
séparation
print join(";", @tab);
split Renvoie la liste des éléments de la chaı̂ne de caractères
délimités par un séparateur (regex)
@tab = split(/[,;]/,
"ainsi;font,font,font,les,petites,marionnettes"
);
sort Renvoie le contenu du tableau trié (tri alphanumérique par
défaut)
@sorted tab = sort(@tab);
grep Renvoie la liste d’éléments correpondant au critère du filtre
(regex)
@res = grep(/[A-Z][a-zA-z]+/, @tab);
Exercices
Jet de mots
Écrivez un script perl qui reçoit en argument une liste de mots
séparés par des espaces et les renvoie dans le désordre (ordre
aléatoire).
Découpage
Écrivez un script perl qui découpe en mots le fichier
bill-of-rights.txt.

Documents pareils