La liste | L'agenda | L'association | Plan du site | Espace privé
Accueil | Actions | Association | Liens | Technique
Accueil > Technique

PERL : Petits Exercices Rassurants sur ce Langage

Ou comment, avec Perl, les choses simples peuvent rester simples et les choses compliquées pas du tout impossible à réaliser.
mardi 26 avril 2005 par Etilem

Voir en ligne : Documentation Perl en français

Pour commencer, une blague répandue dans la communauté Perl : le prochain crack boursier serait bien dû à un bug dans un script Perl.

C’est vous dire combien ce langage est un vrai couteau suisse : de toute ma relative expérience avec ce langage de programmation, je ne me suis jamais dis « Ah non, ça je ne peux pas le faire avec du Perl ».

Tout au plus, on peut préférer tel ou tel autre langage plus adapté aux impératifs du problème.

Donc, pour cette initiation, on va voir deux exemples :

- le classique Hello World : j’affiche le texte « Hello World ».

- comment télécharger le logo du site web Perl.org sur mon disque dur.

Je vous recommande aussi la lecture de cette introduction à Perl.

Sommaire HELLO WORLD

Bien, allons y !

Tout d’abord, on ouvre son éditeur de texte favori et on va appeler notre nouveau script, disons « hello_world.pl ».

L’extension « .pl » [astuce] n’est pas du tout obligatoire et j’aurais pu l’appeler « mon-tout-premier-script-perl », donc pas de règle en la matière.

Ensuite, on va écrire :


print "Hello World !";

Et... et c’est fini !

Un mot d’explication quand même : la fonction print affiche ce qui est entre guillemets à l’écran et le point virgule (obligatoire) termine l’instruction.

Maintenant que notre script est écrit, on l’enregistre et on va dire à Perl de l’exécuter.

Donc, j’ouvre un terminal et je tape :


$ perl hello_world.pl
Hello World !
$

Je viens d’appeller le programme « perl » avec comme argument le script à exécuter... et Perl affiche : Hello World !

Sommaire HELLO WORLD 2

Bon, on va épicer la sauce.

Regardez bien ce bout de code source (les numéros de ligne doivent être retirés pour fonctionner) :

Une petite idée du résultat ?

Explications :

- A la ligne (4), je dis à Perl : créé une variable $nom et stocke dans cette variable la chaîne de caractères "Etienne"
- A la ligne (5) : créé une variable $age et stocke dans cette variable la valeur 32
- (7) : prend $age, ajoute lui la valeur 1 et stocke le résultat dans cette même variable $age
- (9) : affiche ... affiche quoi au fait ?

Remarques :

- chaque instruction se termine par un point virgule, c’est OBLIGATOIRE.
- tout ce qui suit un # (dièse) est ignoré par Perl, on s’en sert pour faire des commentaires.
- une variable sert à stocker une information qui pourra être utilisée, ou modifiée, plus tard dans le programme.
- pour différencier les variables, elles débutent par le signe $ (dollar).
- le mot-clé « my » sert à créer une variable, il n’est pas obligatoire, voir la remarque suivante.
- le module « strict » (1) force à utiliser le mot-clé « my » pour créer des variables et éviter pas mal d’erreurs.
- le module « diagnostics » (2) indique à Perl qu’il doit être bavard dans ses explications si le script ne marche pas.
- le mot-clé « use » (1)(2) permet de charger un module, c’est-à-dire un ensemble complémentaire de fonctions, variables, directives, etc.

Sommaire LE TELECHARGEMENT DU LOGO PERL

Ah, ah, on veut faire de la programmation réseau ? C’est parti !

Et voilaaaà, on peut aller vérifier sur le disque si le fichier logo.gif a bien été téléchargé.

Remarques :

- je ne m’inquiète pas de savoir si mirror a réussi l’opération...
- mirror a des parenthèses, ce n’est pas obligatoire : j’aurais pu écrire mirror $url, $file; comme print("C'est fini !", "\n");

Sommaire LA CERISE SUR LE CHAMEAU

Celle là, on va pas aller la télécharger, ça passe pas dans le fil cuivré.

Vous vous souvenez du HELLO WORLD première mouture ?

C’est pas dur, il n’y avait qu’une ligne :


print "Hello World !";

Et bien, voilà l’équivalent en Java :


public class Hello {

   public static void main(String[] args) {
   
       System.out.print("Hello World !");
       
   }
   
}

C’est cool java, et facile à apprendre !

Et en plus, il faut sauvegarder ça dans le fichier Hello.java sinon il est pas content !

Sommaire LA SEMAINE PROCHAINE SUR VOS ECRANS EN EXCLU MONDIALE

Bon, vous vous dites : utiliser des variables et des fonctions, c’est bien, mais je voudrais faire des choses plus élaborées, comme par exemple tester si la fonction mirror a bien fonctionné, au quel cas j’afficherais le message « Tout est OK » et le message « TOUS AUX ABRIS ! » si ça a échoué.

Et bien, vooooilà le programme de la semaine prochaine :

- les structures de contrôle (si telle condition est remplie, alors faire ça, sinon faire autre chose)
- les structures itératives (tant que cette condition est vraie, faire ceci, mais si telle autre condition est remplie, alors sortir de la boucle)
- les tableaux (comment ranger dans une seule variable plusieurs données en même temps ?)

Sommaire DEVINETTE

Pour terminer, un message subliminal :

[astuce] Dans certains éditeurs, l’extension « .pl » indiquera que c’est un fichier Perl, et on aura l’avantage de la coloration pour différencier les mots-clés et autres fonctions du langage. A ce propos, kate (KDE) et gedit (Gnome) gèrent la coloration, avec mention spéciale pour kate qui permet d’accéder facilement à une fenêtre de terminal pour exécuter le script.



Forum

No Software Patents
Site réalisé avec SPIP
Ce site est hébergé par Ouvaton
Libérez-vous
Utilisez Firefox!
Utilisez Thunderbird