Intro à Perl

De Site à Mans
Aller à la navigation Aller à la recherche

Introduction à Perl et ASP


 

Principes de l'ASP

ASP signifie : Active Server Pages soit Serveur de Pages Dynamiques... Il rend les pages dynamiques tout comme PHP. Perl::ASP peut fonctionner sur une multitude de systèmes d'exploitations : Unix, Windows, ... Enfin, avec les serveur WEB pouvant utiliser Perl par le module nommé "perl_mod"

 

 

 

Nécessaire

Pour pouvoir créer des pages HTML dynamiques avec Perl::ASP, il conseillé d'avoir un certain nombre d'outils :

Avoir des notions de programmation : html, perl ou autre langage script.;
Un éditeur de texte
Installé : Un serveur HTTP, le module ASP de Perl (ne pas oublier perl_mod ) et Perl !
...


 

 

Bien commencer!

Pour commencer, il faut créer un fichier que l'on nommera "intro_perl.pl". Toutes les lignes de programmation Perl qui suivent pourront être contenues dans ce fichier.

 

Afficher des informations avec Perl.

printf (" blabla j'afficheeee ");

avec retour à la ligne :

printf (" là, j'affiche avec un saut de ligne grâce à l' Anté Slash collé à la lette 'n' ");

Mémoriser des informations dans Perl

Une variable se reconnaît grâce au signe $ (dollar) à gauche d'un mot. Ce mot doit toujours commencer par une lettre et peu terminer par des chiffres ou des lettres... Comme indique le sujet de ce chapitre elles servent à mémoriser des informations dans un programme Perl. Toutes ces informations sont appelées -> SCALAIRE ; je crois que ce mot à une signification mathématique... :)

Pour demander à Perl d'utiliser une variable, de la déclarer, on utilise la fonction "my" :

my ($ma_memoire) = "les informations à mémoriser";

  ou

my ($texte) = "Marin";
my ($chiffre) = "9";

Les données contenues dans les variables seront interprétées automatiquement par Perl. Par exemple si nos variables se trouvent dans un printf, Perl affichera leur contenu :

printf(" Contenu de texte : $texte, et de chiffre : $chiffre \n");


Remarque : Vous n'êtes pas obligé d'utiliser "my" pour déclarer vos variables, vous pouvez le faire sans! Mais! sans rentrer dans les détails il est fortement conseillé d'utiliser "my" à chaque déclaration. Quand vous aurez à débuguer un programme Perl dans une page ASP, vous apprécierez sans aucuns doute les bien fait de son utilisations.

 

 

Comparer, conditions dans Perl

Tout langage de programmation possède un système de condition permettant aux ordinateurs de réagir selon des critères définie par le programmeur... Elle sont la base de l'informatique, sans elles nos ordinateurs ne feraient qu'afficher des informations ...

Exemple de comparaison de deux variables (Scalaire :)

if ($texte eq $chiffre)
{
   printf("Le contenu de la variable $texte est égal au contenu de la variable $chiffre\n");
}
else
{
   printf("\$texte et \$chiffre ne sont pas égal!\n");
}

 


Remarque : Ici on utilise l'Anté Slash pour dire à Perl de ne pas prendre $texte pour une variable mais seulement d'annuler l'effet du $ dans le print... 

Autres opérateurs de comparaison acceptés dans le "if( ... )" :

L'opérateur binaire "<" renvoie vrai si son opérande gauche est numériquement plus petit que son opérande droit.
L'opérateur binaire  ">" renvoie vrai si son opérande gauche est  numériquement  plus grand que son opérande droit.
L'opérateur binaire  "<=" renvoie vrai si son opérande gauche est  numériquement  plus petit ou égal que son opérande droit.
L'opérateur binaire  ">=" renvoie vrai si son opérande gauche est  numériquement  plus grand ou égal que son opérande droit.
L'opérateur binaire  "lt" renvoie vrai si son opérande gauche est alphabétiquement  plus petit que son opérande droit.
L'opérateur binaire  "gt" renvoie vrai si son opérande gauche est alphabétiquement  plus grand que son opérande droit.
L'opérateur binaire  "le" renvoie vrai si son opérande gauche est alphabétiquement  plus petit ou égal que son opérande droit.
L'opérateur binaire  "ge" renvoie vrai si son opérande gauche est alphabétiquement  plus grand ou égal que son opérande droit.

Notez cette liste, car d'autres fonctions de Perl les utilisent!

 

Utiliser les informations mémorisées

Afficher

printf permet de traiter les informations fixes mais aussi et surtout "les variables". Les informations fixes sont en général du texte qui ne change pas quel que soit le fonctionnement du programme ou bien de l'utilisation qu'en fait l'utilisateur. Seul ce qui est variable pourra changer lors de l'exécution d'un programme :

printf("Ton prénom est : $texte \n");       # N° 1
ou
printf("Ton prénom est : %s \n",  $texte); # N° 2

  • Si vous hésitez sur la forme à employer, préférez la N° 2...

Donc si $texte avait contenu le prénom "Cédric" plutôt que Marin, la fonction printf aurait bien sur imprimé "Cédric" mais n'aurait pas changé le reste qui se trouve dans le printf"Ton prénom est :"...

 

Autre exemple :

printf("Ton chiffre/nombre est : %d \n",  $chiffre);

 

Calculer

$chiffre = $chiffre * 100;
printf("Le nombre multiplié par 100 est égal à : %s \n",  $chiffre);

 

Ajouter

Lorsque votre programme reçoit des données, il peut-être nécessaire (souvent :) d'y ajouter d'autres informations ou simplement les arranger dans un ordre précis en fonction de vos critères.

my ($phrase) = ""; # ne pas oublier d'initialiser les variables! (si ce n'est pas déjà fait!)

$phrase = $texte . " a " . $chiffre . " ans.";

ou

$phrase = sprintf("%s  a  %d ans!",  $texte,  $chiffre);

print ("$phrase");

Donne : Marin a 900 ans!

 

Couper

De même qu'ajouter des informations, on peut avoir besoin d'en extraire. Ici on veut simplement enlever le "et" mais pas à n'importe quel prix! Il faut aussi demander à Perl de vérifier que tout ce passe bien!

 

$phrase = "Perl et PHP"; # ici on n'utilise pas, volontairement, "my", car $phrase 
                                         # est déjà déclaré/connu de Perl.
my ($mot1) = ""; # On demande à Perl de déclarer $mot1, mais de ne rien y mettre...
my ($mot2) = ""; # ...

  1. On coupe en deux par rapport à un critère qui est " et " ; ça aurait pu être un espace!

($mot1, $mot2) = split (/ et /, $phrase, 2);

  1. On demande à Perl de s'assurer que les réponses de split soient correctes.
    Ce n'est pas du tout obligatoire, mais ça permet d'éviter des surprises...

$mot1 = "" if ( !defined ($mot1) ); # on demande à Perl de placer du vide dans $mot1
                                                     # si celui-ci n'existe plus.
$mot2 = "" if ( !defined ($mot2) );

  1. On affiche le résultat.
    printf("Mot1 = %s, Mot2 : %s\n", $mot1, $mot2);



Remplacer

 

my ($mot) = "Hackers";
my ($crackers) = "les Hackers sont des pirates";

printf("%s ?\n", $crackers);

my ($nombre_trouve) = ($crackers =~ s/${mot}/Crackers/g);

printf("Non!, %s !\n", $crackers);
printf(" Le mot %s a été trouvé %s fois\n", $mot, $nombre_trouve);