|
Un cours pour débuter en Perl
Sous-sections
| |
#!/usr/bin/perl
# TP4
# On vérifie que des chaines saisies peuvent correspondre
# à une immatriculation de véhicule en france.
# On vérifie donc que la chaine saisie
# commence par un chiffre compris entre 1 et 9
# éventuellement suivi de 4 chiffres, suivi de une, deux
# ou trois lettres, suivi de
# - le chiffre 0 suivi d'un chiffre ou
# - un chiffre suivi d'un chiffre ou
# - 2a ou 2b
print ("Entrer une immatriculation de véhicule : \n");
while (<STDIN>) {
# chomp(); n'est pas obligatoire car $ matche la fin de la ligne
# ou juste avant le retour charriot s'il y en a un ...
if (/^[1-9][0-9]{0,4}[a-zA-Z]{1,3}(0[1-9]|[1-9][0-9]|2a|2b)$/) {
print ("C'est bon $& \n");
}
else { print ("C'est faux $& \n");}
print ("Entrer une immatriculation de véhicule : \n");
}
| | | | | | |
| |
#!/usr/bin/perl
# TP5
#
# Calcul d'expressions arithmétiques simples (non parenthésées)
# saisies à la volée.
#
# La chaine doit commencer par un nombre
# suivi d'un opérateur arithmétique suivi d'un nombre (n fois).
# On admet que eval(expr) fait le calcul.
print ("Entrer une expression à calculer \n");
while (<STDIN>) {
if (/^\d+([+*\/-]\d+)+$/) {
# si le - situé entre [] n'était pas positionné
# juste avant ], il faudrait le précéder d'un
# / car il serait alors pris comme démimiteur de
# classe (cf. [a-z]).
print ($_," = ",eval($_),"\n");
}
else {
print ("Expression arithmétique incorrecte \n");
}
print ("Entrer une expression à calculer \n");
}
| | | | | | |
| |
#!/usr/bin/perl
# TP6
#
# On vérifie que des nombres entrés au clavier sont
# bien des entiers relatifs ou des réels.
#
print ("Entrer un nombre : \n");
while (<STDIN>) {
chomp();
if (/^[+|-]?\d+$/) {
# commence éventuellement par un + ou un -
# suivi et terminé par au moins un chiffre.
print ("$_ est un nombre entier relatif \n");
}
elsif (/^[+-]?\d+\.\d+$/) {
# commence éventuellement par un + ou un -
# suivi par au moins un chiffre suivi par
# un . suivi et terminé par au moins un
# chiffre.
print ("$_ est un nombre réel \n");
}
else {
print ("$_ n'est pas un nombre \n");
}
print ("Entrer un nombre : \n");
}
| | | | | | |
| |
#!/usr/bin/perl
# TP7
#
# On entre un texte à la volée.
# Lorsque la saisie est terminée, on calcule le nombre de lignes,
# de mots et de caractères du texte.
#
printf ("Entrer un texte libre sur plusieurs lignes \n");
@texte=<STDIN>;
chomp(@texte);
$nbmots = 0;
$nblig = 0;
$nbcar = 0;
foreach (@texte) {
$nblig++;
@mots=split();
$nbmots = $nbmots + @mots;
foreach (@mots) {
$nbcar += length(); # length($-)
}
}
print ("Nb de lignes saisies : $nblig \n");
print ("Nb de mots saisis : $nbmots \n");
print ("Nb de caractères saisis : $nbcar \n");
| | | | | | |
| |