Introduction - PowerPoint PPT Presentation

About This Presentation
Title:

Introduction

Description:

Introduction Perl (Pratical Extraction and Report language) (pathologically Eclectic Rubbish Lister) Magali Sauvergeat Sommaire Historique / Caract ristiques ... – PowerPoint PPT presentation

Number of Views:57
Avg rating:3.0/5.0
Slides: 26
Provided by: univ217
Category:

less

Transcript and Presenter's Notes

Title: Introduction


1
Introduction à Perl(Pratical Extraction and
Report language)(pathologically Eclectic Rubbish
Lister)
  • Magali Sauvergeat

2
Sommaire
Historique / Caractéristiques Installation /
Début d un programme Variables / Structures de
contrôle Contrôle spéciaux Expressions
Rationnelles Gestion Fichiers Appel système /
Fonctions Orienté Objet Exemples de CGI Socket
  • Historique / Caractéristiques
  • Installation / Début d un programme
  • Variables / Structures de contrôle
  • Contrôle spéciaux
  • Expressions Rationnelles
  • Gestion Fichiers
  • Appel système
  • Fonctions
  • Orienté Objet
  • Un exemple de CGI
  • Un exemple de socket

3
Historique
Historique / Caractéristiques Installation /
Début d un programme Variables / Structures de
contrôle Contrôle spéciaux Expressions
Rationnelles Gestion Fichiers Appel système /
Fonctions Orienté Objet Exemples de CGI Socket
  • En 1987, 1ere version par Larry Wall.
  • Inspiré de Awk, sed, sh, C.
  • langage naturelle.
  • Il y a plus dune façon de le faire.TIM-toady.
  • Perl rend le travail simple, facile et le travail
    difficile possible.
  • Le couteau suisse des chaînes.
  • Aujourdhui Version 5.

4
Caractéristiques
Historique / Caractéristiques Installation /
Début d un programme Variables / Structures de
contrôle Contrôle spéciaux Expressions
Rationnelles Gestion Fichiers Appel système /
Fonctions Orienté Objet Exemples de CGI Socket
  • Points positifs
  • Rapide/efficace pour programmer
  • Grand nombre de possibilités
  • Portable
  • Points négatifs
  • difficilement réutilisable
  • sécrit en un unique fichier
  • Lent à lexécution

5
Installation
Historique / Caractéristiques Installation /
Début d un programme Variables / Structures de
contrôle Contrôle spéciaux Expressions
Rationnelles Gestion Fichiers Appel système /
Fonctions Orienté Objet Exemples de CGI Socket
  • Linux par défaut sur
  • Debian version 2.1 RedHat version 6.0
  • Slackware version 2.5 SuSE version 6.0
  • Unix
  • par défaut sur Aix 4.3.3. Solaris 8 IRIX
  • pour HPUX SCO source (www.perl.com/CPAN-local
    /src/5.0/)
  • Macintosh
  • www.macperl.com
  • Windows 9x/NT
  • www.activestate.com/download/ActivePerl/Windows/5.
    6/

6
Début d un programme
Historique / Caractéristiques Installation /
Début d un programme Variables / Structures de
contrôle Contrôle spéciaux Expressions
Rationnelles Gestion Fichiers Appel système /
Fonctions Orienté Objet Exemples de CGI Socket
  • Options de compilation
  • !usr/bin/Perl - w warning
  • !c/Perl/bin/Perl - d debug
  • Librairies comme include
  • Use CGI
  • CGI librairie pour accès web
  • SQL librairie pour accéder à une base SQL
  • Socket égal socket.h

7
Variables
Historique / Caractéristiques Installation /
Début d un programme Variables / Structures de
contrôle Contrôle spéciaux Expressions
Rationnelles Gestion Fichiers Appel système /
Fonctions Orienté Objet Exemples de CGI Socket
  • variable scalaire
  • variable
  • variable Hello World 
  • variable25
  • Tableau
  • _at_tab
  • tab0 Valeur 0eme de _at_tab.
  • table de hashage.
  • tabhash
  • tabhashvar_at_tab

8
Structures de contrôle
Historique / Caractéristiques Installation /
Début d un programme Variables / Structures de
contrôle Contrôle spéciaux Expressions
Rationnelles Gestion Fichiers Appel système /
Fonctions Orienté Objet Exemples de CGI Socket
  • Conditions
  • If ( expression )else
  • Unless ( expression )
  • val(expression ? truevalue falsevalue)
  • boucles
  • dowhile/until (expression )
  • Forexp_initialetest_expincrem_exp ()
  • while(test_exp)()
  • foreach i (_at_liste)

9
Contrôle spéciaux
Historique / Caractéristiques Installation /
Début d un programme Variables / Structures de
contrôle Contrôle spéciaux Expressions
Rationnelles Gestion Fichiers Appel système /
Fonctions Orienté Objet Exemples de CGI Socket
  • last
  • branchement après la boucle
  • While(exp 1) if( exp2 ) last saut last ici
  • next
  • branchement en fin de boucle.
  • While(exp 1) if( exp2 ) next truc saut
    next ici
  • redo
  • branchement en début de boucle
  • While(exp 1)saut redo ici trucif( exp2
    )redo

10
Expressions Rationnelles
Historique / Caractéristiques Installation /
Début d un programme Variables / Structures de
contrôle Contrôle spéciaux Expressions
Rationnelles Gestion Fichiers Appel système /
Fonctions Orienté Objet Exemples de CGI Socket
  • Motifs
  • . n importe quel lettre sauf \n.
  • \s caractères espace \n\t\n\f inverse \S
  • \w caractères de mots a-zA-Z0-9 inverse \W
  • \d chiffres 0-9 inverse \D
  • /i ignorer la case.
  •  ... négation des caractères du crochet.
  • Ancrage
  •     correspond au début de ligne.

11
Expressions Rationnelles(bis)
Historique / Caractéristiques Installation /
Début d un programme Variables / Structures de
contrôle Contrôle spéciaux Expressions
Rationnelles Gestion Fichiers Appel système /
Fonctions Orienté Objet Exemples de CGI Socket
  • Alternatif "" correspond à un ou.
  • Multiplicatif
  •  , 0 ou n fois   , 1 ou n fois ?, 0 ou 1 fois
    le
  • Utilisations
  • /pattern/option
  • if ( a /bon/ i) vrai si a commence par bon
    ou Bon
  • s/pattern/replace/option
  • wi s/y/x/g remplace toute les y dans wi par
    x.
  • Split
  • _at_tab split(//,v) coupe la chaîne v suivant
    le délimiteur    et le stocke dans tab.

12
Gestion Fichiers
Historique / Caractéristiques Installation /
Début d un programme Variables / Structures de
contrôle Contrôle spéciaux Expressions
Rationnelles Gestion Fichiers Appel système /
Fonctions Orienté Objet Exemples de CGI Socket
  • Descripteurs
  • STDIN entrée standard STDOUT sortie standard
  • Fonction open
  • open(FILEH,  monfichier ) mon fichier est
    ouvert en lecture.
  • open(FILEW,  gtmonfichier ) mon fichier est
    ouvert en écriture.
  • open(FILEW,  gtgtmonfichier ) mon fichier est
    ouvert en écriture et créé en mode append.
  • Fonction close
  • close (DES) ferme le descripteur de fichier

13
Gestion Fichiers
Historique / Caractéristiques Installation /
Début d un programme Variables / Structures de
contrôle Contrôle spéciaux Expressions
Rationnelles Gestion Fichiers Appel système /
Fonctions Orienté Objet Exemples de CGI Socket
  • exemple copie du fichier toto dans titi.
  • print "Voulez vous copier toto dans titi"
  • if(ltSTDINgt /(yesoui)/i)
  • open(FILEW, "gtgttiti")
  • open(FILER, "toto")
  • while (altFILERgt)
  • print FILEW "ligne de toto a"
  • close FILER
  • close FILEW

14
Appel système
Historique / Caractéristiques Installation /
Début d un programme Variables / Structures de
contrôle Contrôle spéciaux Expressions
Rationnelles Gestion Fichiers Appel système /
Fonctions Orienté Objet Exemples de CGI Socket
  • Exécution de programme
  • System( programme ) sortie ltSTDINgt
  • programme sortie chaîne de caractère
  • open(DESCRI ,programme ) entrée ou sortie
    pipe
  • Gestion de processus
  • fork() exec()
  • wait() waitpid()
  • exemple
  • !/usr/bin/perl
  • open(LPR, lpr )
  • _at_mywhowho
  • foreach _ (_at_mywho) print LPR _
  • close LPR

15
Fonctions
Historique / Caractéristiques Installation /
Début d un programme Variables / Structures de
contrôle Contrôle spéciaux Expressions
Rationnelles Gestion Fichiers Appel système /
Fonctions Orienté Objet Exemples de CGI Socket
  • Définition sous Fonctions
  • sub mafonction
  • _0 premier argument _at__ tableau
    d argument
  • ...
  • return var return var1,var2
  • Appel Sous Fonction
  • var / _at_tab mafonction(first, second)
  • myfunc (_at_list)
  • Toutes les variables sont globales.
  • Contournement my(variable_locale)

16
Fonctions (bis)
Historique / Caractéristiques Installation /
Début d un programme Variables / Structures de
contrôle Contrôle spéciaux Expressions
Rationnelles Gestion Fichiers Appel système /
Fonctions Orienté Objet Exemples de CGI Socket
  • exemple
  • !c/perl/bin/perl -w
  • a1 b2
  • csum()
  • print  " valeur de sum c \n valeur de a a
    \n"
  • sub sum
  • my(a)10
  • return ab
  • Résultat
  • valeur de sum 12
  • valeur de a 1

17
Orienté Objet
Historique / Caractéristiques Installation /
Début d un programme Variables / Structures de
contrôle Contrôle spéciaux Expressions
Rationnelles Gestion Fichiers Appel système /
Fonctions Orienté Objet Exemples de CGI Socket
  • Classe -gt Package
  • Objet -gt référence
  • exemple
  • package Personne
  • my champs(nomgtundef,agegtundef,enfantsgtundef
    )
  • use Personne
  • luinew Personne
  • lui-gtnom("Dupont")
  • lui-gtage(30)
  • lui-gtenfants("lucie","pierre"

18
Le cgi
Historique / Caractéristiques Installation /
Début d un programme Variables / Structures de
contrôle Contrôle spéciaux Expressions
Rationnelles Gestion Fichiers Appel système /
Fonctions Orienté Objet Exemples de CGI Socket
  • Header
  • header() ltHEADgt
  • start_html() ltHTMLgt
  • h1('some','contents') ltH1gtsome contentslt/H1gt
  • h1(-aligngtleft,'contents')
    ltH1ALIGN"LEFT"gtcontentslt/H1gt
  • Liste
  • radio_group() ltINPUT TYPE"radio"gt
  • popup_menu() ltSELECT NAME"toto" gt
  • checkbox() ltINPUT TYPE"checkbox"gt
  • textarea() ltINPUT TYPE"text" gt
  • scrolling_list( -namegt toto',
    -ValuesgtEngland,France, ,
  • -LabelsgtEnglandgt"EN",Francegt"FR", ,
    -sizegt1, -multiplegt0)
  • ltSELECT NAME"toto" SIZE1gt ltOPTION
    VALUE"England"gtEN
  • ltOPTION VALUE"France"gtFRlt/SELECTgt

19
Un exemple cgi
Historique / Caractéristiques Installation /
Début d un programme Variables / Structures de
contrôle Contrôle spéciaux Expressions
Rationnelles Gestion Fichiers Appel système /
Fonctions Orienté Objet Exemples de CGI Socket
  • Print Hello world
  • !/usr/local/bin/perl
  • use CGI load CGI routines
  • q new CGI create new CGI object
  • print q-gtheader, create the HTTP header
  • q-gtstart_html('hello world'),
  • start the HTML
  • q-gth1('hello world'), level 1 header
  • q-gtend_html end the HTML

20
Un exemple cgi
Historique / Caractéristiques Installation /
Début d un programme Variables / Structures de
contrôle Contrôle spéciaux Expressions
Rationnelles Gestion Fichiers Appel système /
Fonctions Orienté Objet Exemples de CGI Socket
  • !C\PERL\bin\perl.exe
  • use CGI 'standard'
  • query new CGI
  • print query-gtheader
  • print query-gtstart_html("Example CGI.pm Form")
  • print query-gth1('A Simple Example')
  • print query-gt start_form
  • print "What's your name? "
  • print query-gt textfield('name'),p
  • print "What's the combination?",p
  • print query-gt checkbox_group(-namegt'words',
  • -valuesgt'key1','key2','key3','key4',
  • -defaultsgt'key1','key3')

21
Un exemple cgi
Historique / Caractéristiques Installation /
Début d un programme Variables / Structures de
contrôle Contrôle spéciaux Expressions
Rationnelles Gestion Fichiers Appel système /
Fonctions Orienté Objet Exemples de CGI Socket
  • print p,"What's your favorite color? "
  • print popup_menu(-namegt'color',
  • -valuesgt'red','green','blue','chartreuse'),
    p
  • print query-gtsubmit('Action','Send')
  • print query-gtendform
  • print hr
  • if (param())
  • print "Your name is ",em(param('name')),p,
  • "The keywords are ",em(join(",
    ",param('words'))),p,
  • "Your favorite color is ",em(param('color')),
  • hr
  • print a(hrefgt'../cgi_docs.html','Go to the
    documentation')
  • print end_html

22
Un exemple de socket
Historique / Caractéristiques Installation /
Début d un programme Variables / Structures de
contrôle Contrôle spéciaux Expressions
Rationnelles Gestion Fichiers Appel système /
Fonctions Orienté Objet Exemples de CGI Socket
  • Librairie Socket
  • Tcp Client
  • !/usr/bin/perl -w
  • use Socket
  • remote'localhost'
  • port8011
  • iaddrinet_aton(remote)
  • paddrsockaddr_in(port,iaddr)
  • protogetprotobyname('tcp')
  • socket(SOCK,PF_INET,SOCK_STREAM,proto)
  • connect(SOCK,paddr)
  • while(ligneltSOCKgt) print ligne
  • close (SOCK)
  • exit

23
Un exemple de socket
Historique / Caractéristiques Installation /
Début d un programme Variables / Structures de
contrôle Contrôle spéciaux Expressions
Rationnelles Gestion Fichiers Appel système /
Fonctions Orienté Objet Exemples de CGI Socket
  • TCP Serveur
  • !/usr/bin/perl -w
  • use Socket
  • port8011
  • protogetprotobyname('tcp')
  • socket(Serveur,PF_INET,SOCK_STREAM,proto)
  • setsockopt(Serveur,SOL_SOCKET,SO_REUSEADDR,pack("l
    ",1))
  • bind(Serveur,sockaddr_in(port,INADDR_ANY))
  • listen(Serveur,SOMAXCONN)
  • for(paddraccept(Client,Serveur)close Client)
  • (portc,iaddrcl)sockaddr_in(paddr)
  • nomgethostbyaddr(iaddrcl,AF_INET)
  • print Client "Salut nom coucou\n"
  • gtgtSalut localhost.localdomain coucou

24
Conclusions
  •  Perl permet
  • La paresse
  • L impatience
  • et la démesure. 

25
Bibliographie
  • Introduction à Perl, RL.Schwartz
    T.Christiansem, O reilly
  • Programming Perl,L.Walls
    RL.Schwartz O reilly
  • Sites
  •  Picking up Perl  www.ebb.org
  • www.perl.org
  • www.activestate.com
Write a Comment
User Comments (0)
About PowerShow.com