perl mise à jour du 07/08/2005 par : philippe bancquart

16
PERL Mise à jour du 07/08/2005 Par : Philippe Bancquart

Upload: jeannette-rodier

Post on 03-Apr-2015

102 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: PERL Mise à jour du 07/08/2005 Par : Philippe Bancquart

PERL

Mise à jour du 07/08/2005

Par : Philippe Bancquart

Page 2: PERL Mise à jour du 07/08/2005 Par : Philippe Bancquart

Direction Commerciale et MarketingModèle PowerPoint - mise à jour 19 mai 2003 - page 2

Objectifs

Sommaire

Présentation et utilisation du langage PERL Initiation à ce langage

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

Page 3: PERL Mise à jour du 07/08/2005 Par : Philippe Bancquart

Direction Commerciale et MarketingModèle PowerPoint - mise à jour 19 mai 2003 - page 3

1

2

Utilisation

Partie 2 : les atouts et les défis d ’aujourd ’hui

Partie 3 : l ’organisation 3

Partie 4 : modèle économique, création de valeur et performances4

Partie 5 : chiffres clés 5

Partie 6 : success stories, exemples, satisfaction 6

PrésentationPrésentation0

Page 4: PERL Mise à jour du 07/08/2005 Par : Philippe Bancquart

Direction Commerciale et MarketingModèle PowerPoint - mise à jour 19 mai 2003 - page 4

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

0

Page 5: PERL Mise à jour du 07/08/2005 Par : Philippe Bancquart

Direction Commerciale et MarketingModèle PowerPoint - mise à jour 19 mai 2003 - page 5

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

Page 6: PERL Mise à jour du 07/08/2005 Par : Philippe Bancquart

Direction Commerciale et MarketingModèle PowerPoint - mise à jour 19 mai 2003 - page 6

Synthèse

Les variables commencent par $ on ne s’occupe pas du type.

Les listes commencent par @@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

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;

Page 7: PERL Mise à jour du 07/08/2005 Par : Philippe Bancquart

Direction Commerciale et MarketingModèle PowerPoint - mise à jour 19 mai 2003 - page 7

Type de données.

Nombre, classique , exemple 1.1

+, - ,* , /, ** (puissance), % (modulo)

< , > , <= , >= , == ( égalité) != (différence)

chaine ’Bonjour’

’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é

Page 8: PERL Mise à jour du 07/08/2005 Par : Philippe Bancquart

Direction Commerciale et MarketingModèle PowerPoint - mise à jour 19 mai 2003 - page 8

Page 9: PERL Mise à jour du 07/08/2005 Par : Philippe Bancquart

Direction Commerciale et MarketingModèle PowerPoint - mise à jour 19 mai 2003 - page 9

Exemple de fichier

# mon premier scriptprint "bonjour";my $monFichier="testcpi.pl";if (!-e $monFichier) {

my $error = $!;}my $i;open (F, $monFichier) || die "Problème d'ouverture : $!" ;while (my $ligne = <F>) {

print $ligne;$i++;

}print "Nombre de lignes : $i pour le fichier .$monFichier";close F;

Un commentaireUn message de bienvenuCréation d’une variable $monFichieret on affecte le nom du fichierVérification que le fichier existe.Die : gestion des erreurs et affichage du code.

Variable compteur, pas de gestion des types Ouverture du fichier contenu dans la variable, F est l’identifiant pour le repérer. || si erreur alors affichage

Tant que pas la fin fichier, lecture ligne à ligne rangement dans la variable $ligneAffichage de la variable ligneIncrémentation compteur

Affichage message avec texte et variables mélangées le point fait concaténation.

Fermeture fichier

Page 10: PERL Mise à jour du 07/08/2005 Par : Philippe Bancquart

Direction Commerciale et MarketingModèle PowerPoint - mise à jour 19 mai 2003 - page 10

2

Partie 1 : historiquePartie 1 : historique

Partie 2 : les atouts et les défis d’aujourd’hui

Partie 3 : l ’organisation 3

Partie 4 : modèle économique, création de valeur 4

Partie 5 : chiffres clés 5

Partie 6 : success stories, exemples, satisfaction 6

0 Présentation

et performances

1

Page 11: PERL Mise à jour du 07/08/2005 Par : Philippe Bancquart

Direction Commerciale et MarketingModèle PowerPoint - mise à jour 19 mai 2003 - page 11

1PERL : 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>;

Page 12: PERL Mise à jour du 07/08/2005 Par : Philippe Bancquart

Direction Commerciale et MarketingModèle PowerPoint - mise à jour 19 mai 2003 - page 12

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

Page 13: PERL Mise à jour du 07/08/2005 Par : Philippe Bancquart

Direction Commerciale et MarketingModèle PowerPoint - mise à jour 19 mai 2003 - page 13

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

Page 14: PERL Mise à jour du 07/08/2005 Par : Philippe Bancquart

Direction Commerciale et MarketingModèle PowerPoint - mise à jour 19 mai 2003 - page 14

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

Page 15: PERL Mise à jour du 07/08/2005 Par : Philippe Bancquart

Direction Commerciale et MarketingModèle PowerPoint - mise à jour 19 mai 2003 - page 15

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

Page 16: PERL Mise à jour du 07/08/2005 Par : Philippe Bancquart

Direction Commerciale et MarketingModèle PowerPoint - mise à jour 19 mai 2003 - page 16

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