presentation

publicité
PERL
Mise à jour du 07/08/2005
Par : Philippe Bancquart
Objectifs


Présentation et utilisation du langage PERL
Initiation à ce langage
Sommaire







Présentation
Son utilisation
Atouts et défis d’aujourd’hui
Organisation
Modèle économique, création de valeur et performances
Chiffres clés
Success stories, exemples, satisfaction
Direction Commerciale et Marketing
Modèle PowerPoint - mise à jour 19 mai 2003 - page 1
0
Présentation
1
Utilisation
2
Partie 2 : les atouts et les défis d ’aujourd ’hui
3
Partie 3 : l ’organisation
4
Partie 4 : modèle économique, création de valeur et
performances
5
Partie 5 : chiffres clés
6
Partie 6 : success stories, exemples, satisfaction
Direction Commerciale et Marketing
Modèle PowerPoint - mise à jour 19 mai 2003 - page 2
0
Présentation

Qu’est ce que Perl ? P.E.R.L. signifie Practical Extraction and
Report Lang

Un langage de programmation, logiciel gratuit

Un langage interprété, pas de compilation

Chaque « script » nécessite d'avoir l'interpréteur Perl sur la machine
pour s'exécuter.

Portabilité : Perl existe sur la plupart des plateformes (Unix, NT,
Windows, Mac,VMS, ...)

Nombreuses librairies et utilitaires

Simplicité et robustesse
Direction Commerciale et Marketing
Modèle PowerPoint - mise à jour 19 mai 2003 - page 3
Utilisation

Manipuler des fichiers (notamment pour gérer plusieurs fichiers en
même temps),

Manipuler des textes (recherche, substitution),

Manipuler des processus (notamment à travers le réseau).

Générer, mettre à jour, analyser des fichiers HTML (CGI),

Accès « universel » aux bases de données,

Conversion de formats de fichiers.

Ne pas utiliser pour interfaces interactives, calcul scientifiques,

Perl n’est plus lié au monde UNIX
Direction Commerciale et Marketing
Modèle PowerPoint - mise à jour 19 mai 2003 - page 4
Synthèse

Les variables commencent par $
on ne s’occupe pas du type.

Les listes commencent par

My $mon_fruit_prefere = 'kiwi';
my $prixkiwiKilo = 12;
$prix = $prixkiwiKilo * 0.1 ;
my $chaine = "100 grammes de $mon_fruit_prefere
vaut $prix Euros";
print $chaine ;

@chiffres = (1,2,3,4,5,6);
@fruits =
('amande','fraise','cerise');
@alphabet = ('a'..'f');
@ch = @chiffres;
print @alphabet, '_', @ch;
@
@alphabet = ('a'..'z'); Les
deux points signifient de "tant à tant"

affectation @ch =
@chiffres;

on fait référence à un élément du
tableau selon son indice par :
$chiffres[1]
$fruits[0] premier
Direction Commerciale et Marketing
Modèle PowerPoint - mise à jour 19 mai 2003 - page 5
Type de données.

Nombre, classique , exemple 1.1

+, - ,* , /, ** (puissance), % (modulo)

< , > , <= , >= , == ( égalité) != (différence)

chaine

’L\’´ecole’ le \ devant ’ pour l’apostrophe

’c:\\windows\\system’ antislash doublées

’’ chaˆıne vide

’Bonjour \n’ le \n n’a pas de sens ici

utiliser une double quote pour être interprété
’Bonjour’
Direction Commerciale et Marketing
Modèle PowerPoint - mise à jour 19 mai 2003 - page 6
Direction Commerciale et Marketing
Modèle PowerPoint - mise à jour 19 mai 2003 - page 7
Exemple de fichier
Un commentaire
 # mon premier script
Un message de bienvenu
Création d’une variable $monFichier
print "bonjour";
et on affecte le nom du fichier
my
que le fichier existe.
$monFichier="testcpi.pl";Vérification
Die : gestion des erreurs et affichage du code.

if (!-e $monFichier) {
 Variable compteur, pas de gestion des types
my $error = $!;
Ouverture du fichier contenu dans la variable, F
}
est l’identifiant pour le repérer.
my $i;
|| si erreur alors affichage
open (F, $monFichier) ||
 Tant que pas la fin fichier, lecture ligne à ligne
die "Problème d'ouverture
rangement dans la variable $ligne
: $!" ;
de la variable ligne
while (my $ligne = <F>) {Affichage
Incrémentation compteur
print $ligne;
 Affichage message avec texte et variables
$i++;
mélangées le point fait concaténation.
}
print "Nombre de lignes :
$i pour le fichier
 Fermeture fichier
Direction Commerciale et Marketing
.$monFichier"; Modèle PowerPoint
- mise à jour 19 mai 2003 - page 8
0
Présentation
1
Partie 1 : historique
2
Partie 2 : les atouts et les défis d’aujourd’hui
3
Partie 3 : l ’organisation
4
Partie 4 : modèle économique, création de valeur
et performances
5
Partie 5 : chiffres clés
6
Partie 6 : success stories, exemples, satisfaction
Direction Commerciale et Marketing
Modèle PowerPoint - mise à jour 19 mai 2003 - page 9
1
PERL : FICHIERS

Pour écrire un fichier



open(FILEHANDLE,">>nomdufichier");
print FILEHANDLE "Nom: ",$html->param('nom'),"\n";
print FILEHANDLE "--------------------------------------------------\n";
close FILEHANDLE;

Ouverture en lecture : open(FILEHANDLE,"<nomdefichier");

@lignes = <FILEHANDLE>;
Direction Commerciale et Marketing
Modèle PowerPoint - mise à jour 19 mai 2003 - page 10
Exercices Fichiers

Nous avons une structure XML et un fichier avec des données.

L’objectif est de mettre les données dans les tags XML.

Fichier structure <nom> ^comment NOM </nom>

Fichier données ^comment NOM : Philippe
Direction Commerciale et Marketing
Modèle PowerPoint - mise à jour 19 mai 2003 - page 11
FICHIERS

L'ouverture consiste à associer un descripteur de fichier (filehandle) à un fichier
physique.

open (FIC1,’monfichier’); # ouverture en lecture

open (FIC2,'c:\\tmp\\truc’); #

open (FIC3,’>toto’); # > pour ouverture en écriture

open (FIC3,’>>titi’); # >> pour ouverture en ajout

Vérification que tour se passe bien. On peut utiliser un die conditionnel pour traiter
les valeurs de retour de open :

open(FIC,’MonFichier’) || die("Pb d’ouverture\n");

Close(FIC);
Direction Commerciale et Marketing
Modèle PowerPoint - mise à jour 19 mai 2003 - page 12
Lecture Fichier

Pour parcourir l’ensemble du fichier, rangement dans

open (F, $fichier) || die "Problème pour ouvrir $fichier:
$!";
while (my $ligne = <F>) {
print $ligne;
}
close F;

On range dans une variable $ligne = <FENT>;

$reponse = <STDIN>; => lecture d'une ligne à l'écran

La fin de ligne (retour-chariot) est lue également. Pour enlever cette fin de ligne il
suffit d'utiliser la commande chop, chomp ou son équivalent : chomp

On peut lire toutes les lignes d'un fichier dans un tableau (en une seule instruction)
@lignes = <FENT>;
Direction Commerciale et Marketing
Modèle PowerPoint - mise à jour 19 mai 2003 - page 13
$_
Lecture standard
1.
On effecture la lecture de l’entrée, et
affiche le nombre de ligne.
2.
On peut avoir plusieurs fichiers en
entrées.
Lire les lignes fichier e1 puis le e2
3.
On peut tout lire en 1 instruction
@lignes = <FILEHANDLE>;
Ainsi $ligne[0] sera la première ligne,
$ligne[1] sera la deuxième etc...
1.
my $i=0;
while (my $ligne = <>){
$i++;
}
print "nb $i "
2.
@ARGV = ("e1.txt","e2.txt");
while ($ligne = <>){
print("$ligne"); }
Direction Commerciale et Marketing
Modèle PowerPoint - mise à jour 19 mai 2003 - page 14
1.
Ensuite vous pouvez remplir le fichier
avec vos variables et texte
2.
On peut utiliser également sprintf avec
les normes du C
1.
open(FILEHANDLE,">>nomdufichier");
print FILEHANDLE "Nom: "$var \n";
print FILEHANDLE "-----------------\n";
Direction Commerciale et Marketing
Modèle PowerPoint - mise à jour 19 mai 2003 - page 15
Téléchargement