Historique et présentation

Installation et lancement

Les différents modes d'exécution (1)

Les différents modes d'exécution (2)

Les différents modes d'execution (3)

Structure d'un programme, exemple

> cat exemple.pl
#!/usr/loca/bin/perl

#les dièses servent à commenter une ligne


#une routine
sub ma_routine
{
  ($arg1,$arg2)=@_;

  print "argument 1 : $arg1\n";
  print "argument 2 : $arg2\n";

  if ($arg1 == $arg2) 
  {
     print "les argumuments sont egaux\n";
  }
  else
  {
     print "les argumuments sont differents\n";
  }
}       

#le programme principal

$argument_1 = @ARGV[0];
$argument_2 = @ARGV[1];

ma_routine($argument_1, $argument_2);
>

Documentation interne

Sources d'information externes

Les types en PERL : le type scalaire

$un_car='c';
$une_chaine="chaine"
$un_entier=1;
$un_flotant=3.14;

Quel que soit le type abstrait qu'il représente, le scalaire est codé sur 32 bits. Cela entraîne une augmentation de la mémoire nécessaire et ralentit les temps de manipulation. En revanche cela permet d'avoir des règles de conversion contextuelles.

$chaine = "1+1=" . (1+1)
#chaine vaut : "1+1=2", . est l'opérateur de concaténantion

Les types en PERL : le type liste

Une liste est un tableau de scalaires.

Les types en PERL : le type table de hâchage

Notation : %hash

$hash{"cle"}="valeur";
$hash{"toto"}=1;

@list_key = keys %hash
$nb_elem = scalar @list_key

Les routines

Notation :

Les arguments

if, for, foreach ...

foreach $variable (@list)
{
print $variable;
}

Les expressions régulières

Les modules

Exercice : écrire un petit script qui compte le nombre de pages vues à partir des access_log de Apache et en fait un classement.

Présentation du module CGI de perl

Script minimal

Gestion de formulaires

Contrôle des headers et push

Gestion des cookies

Stockage de fichiers