RECHERCHER :
COMMUNAUTE MP
Identifiez vous ...
Devenir Membre
J'ai oublié mon MDP
DOMAINE MP
Bavardages
Langages Généraux
Langages Web
Langages DotNet
Autres langages
Dev. Jeux Video
Sécurité
Sys. Exploitation
Graphismes
Logiciels
Réseaux
Bases de données
Méthodologies
Emplois High-tech
Aide juridique
Articles juridiques
FORUM
Index des forums
Ajouter un sujet
Rechercher sujet
Contact Responsable
Devenir modérateur
CHAT MP IRC
Votre pseudo ...
Srv: irc.moteurprog.com
Chan: #MoteurProg
PARTICIPER
Plus de 3500 emplois.
Rechercher un job
Déposez votre CV
Emplois High-tech

Visiteur MP

 PRESENTATION Perl

Forum : PERL
Sous Catégorie : Aucune
Type du sujet : Post-it
FAQ : FAQ PERL

SUIVI DES SUJETS PAR MAIL

SUIVI PAR MAIL INACTIF

RESOLUTION DU SUJET SUJET NON RESOLU
BLOQUAGE DU SUJET SUJET ACTIF
APPARTENANCE A LA FAQ N'APPARTIENT PAS A LA FAQ


PAGE : [1]

POSTER UN NOUVEAU SUJET REPONDRE A CE SUJET

FORUM PERL

PREMIERE PAGE

PAGE PRECEDENTE

Page précedente

Page suivante

PAGE SUIVANTE

DERNIERE PAGE
Visiteur MP
Membre du club
Inscrit :
Messages : 1255
Message
#159
Posté le 06/02/04 à 23:52
Bonjour,

Il n'existe pas encore de page de présentation de ce langage , si vous souhaitez en crée une, devenez moderateur de cette section :

http://www.moteurprog.com/?url=Moderateur_devenir.php

Engager vous dans la communauté :
- Devenez modérateur de votre langage sur le forum
- Accéder aux statistiques de votre rubrique et du site
- Créer vos propres sous catégories
- Ajouter et valider des sites sans réserve
- Créer / Déposer des articles pour votre langage
- Créer / Déposer des tutoriaux pour votre langage
- Lancer des débats pour votre langage
- Ajouter des news et des actus sur votre langage

HAUT DE PAGE

PROFIL MEMBRE LUI ECRIRE ALLER VOIR SON SITE

Publicité
Inscrit : X
Messages : X
Message
#Aucun

HAUT DE PAGE

  

Dr_T
Membre MP
Inscrit : 13/02/2005
Messages : 223
Message
#87238
Posté le 07/02/06 à 10:10
----------présentation du langage perl----------------


1) PERL : introduction

- Perl?

Perl est un langage interpreté (c'est a dire qu'il ne produit pas d'executable, et qu'il faut que le poste qui l'invoque soit
équipé de l'interpréteur), concu a la base pour faire gagner du temps. Il repose sur un systeme quasi infini de modules
(http://search.cpan.org), qui lui permettent meme des interactions avec d'autres langages, au nombre desquels figure le C.

PERL a été créé par Larry Wall, c'est un acronyme qui signifie 'Practical Extraction and Report Language', Langage d'extraction
et de rapport 'facilité'. La devise de tous les perlistes est 'there's more than one way to do it' : il y a plus d'une facon
de le faire. La principale qualité du perliste? Etre feignant!

Perl servira principalement pour du CGI, mais est surtout un outil extremement puissant de manipulation de chaines, donc logs,
mails, et ... bioinformatique (mon ptit domaine a moi :p ).

- Ecrire perl
Pour écrire en perl, il vous faut un éditeur de texte, celui par défaut de votre os convient très bien. Il faut aussi
l'interpreteur du langage. De manière super simple, vous pouvez vous permettre, au prompt, de taper 'perl', de valider, puis
de taper votre programme...
Perl fonctionne aussi en mode 'ligne de commande'.
Mon conseil reste quand meme d'utiliser un EDI, comme EngInSite Perl Editor, qui facilitera grandement votre travail.

Il vous faudra donc:

* Perl (version 5.6.8 actuellement)
* Un textpad quelconque
* Un peu de patience au début...



Donc, a la fin de l'installation de perl (je vous conseille de prendre le logiciel 'activeperl', vous serez prets a vous lancer
dans le monde sans pitié du script of the dead...
2) HELLO, LARRY!

C'est parti, on va commencer a écrire le script n°1 : le fammeux 'hello larry'!

Donc, on va considérer que vous êtes en mode console (Win+R sous Win, ou shell sous *n*x).
tapez perl -w puis validez

entrez ensuite le code suivant :

use strict;
use warnings;
print "Hello Larry\n";
__END__

Vous aurez un joli Hello Larry suivi d'un saut de ligne qui s'affiche. Ok. Maintenant, on fait ce que je prefere dans la vie,
on chope un scalpel et on dissèque (manque de chance, les scripts ne se dissèquent pas au scalpel...)

perl -w : On lance le programme perl, avec l'option -w qui signifie qu'on souhaite recevoir les avertissements relatifs
aux erreurs de code.

use *; : est une fonction comme l'include, qui appelle des modules. Ici strict et warnings, qui vont etre chargés de bloquer le
code (ou du moins de sauter des étapes) quand il est faux.

print "chaine\n"; : on affiche (en fait il s'agit d'une ecriture dans le fichier STDOUT, on verra ca plus tard) Hello Larry
et un retour a la ligne, symbolisé par \n. Attention, les doubles guillemets sont 'interpretants', les simples sont 'stricts':
print 'hello larry\n' affiche hello larry\n.

__END__ : en mode 'saisie directe' (sans enregistrer dans un fichier), ca signifie qu'on relit tout le code et qu'on lance
l'interpretation.

Une autre manière de faire tout ca est de créer un fichier hello.pl dans le repertoire perl (c'est plus simple), qui contient

#!C:\perl\bin\perl.exe -w
use strict;
use warnings;
print "Hello Larry\n";
__END__

Attention, la première ligne est OBLIGATOIRE, et sous linux ca sera en général
#!\usr\bin\perl -w
, elle indique le chemin vers l'interpreteur.

Une dernière chose? Oui, toutes les commandes se finissent par un ; .

3) LES VARIABLES

"Il y a a peu pres autant de ressemblance entre la programmation sans variable et la vraie programmation qu'entre le catalogue
jardiland et la morale du jardin" Oui, c'est vrai, et en tout cas meme si c'etait pas vrai ca m'avait bien fait marrer sur le
coup.

Qu'est-ce qu'une variable?

Beuh, vaste question. Globalement, une variable est un 'nom' qui contient une 'valeur'.
Chaque utilisation du nom fait utiliser la valeur.

En perl, une variable se declare de la façon suivante :

my $var1 = 0; #on initialise la variable en déclarant my (il existe aussi our, on verra apres)
my $var2 = "U"; #affiche U
my $var3 = "U\n"; #U et un retour chariot
my $var4 = 'U'; #U, identique a $var2
my $var5 = 'U\n'; #U\n, a cause des guillemets simples!

Dans le cas de programmes qui utilisent beaucoup de variables, il peut être intéressant de déclarer plusieurs variables par ligne. On procéde de la manière suivante:

my ($var1, $var2, $var3) = ("val1", "val2, "val3");
#On verra plus tard la similitude avec les tableaux, perl fait très bien la différence!

Pour faire afficher une variable, on ecrit:

my $nom = "Dr_T";
print $nom;
#ou print "$nom", mais pas print '$nom' qui afficherait $nom et pas Dr_T..

Ok? Ca commence a rentrer...

L'avantage de perl, c'est que les données sont très faiblement typées (oui, pas typées du tout ou presque), donc, pas besoin
de préciser. Pour ceux qui ont l'experience de Delphi, C, ou meme de CaML, et qui ont deja passé des heures a chercher LE bon
transtypage, vous comprendrez la joie que ca me procure!

En gros, la conséquence de ca est que:

$deux = "2"; #chaine de caractères? hum pas sur!
$trois = $deux+1; #Ah bah nan, les deux a la fois!

Pour etre precis, les variables textuelles doivent quand meme etre déclarées entre guillemets, sinon perl considère que c'est
un 'bareword' (mot nu), et leve une exception.

Que peut-on faire avec les variables?

Concaténer :
$vingt-trois = $deux.$trois #oui, vous l'aurez deja remarqué, mais la syntaxe est proche de php!

Ajouter, diviser, soustraire, multiplier, euclider (ca se dit pas, on dit modulo):
+ / - * % ( a noter que ce dernier renvoie le reste de l'euclidienne)

Mettre a l'exponentielle :
**

(toutes ces notions sont reprises plus loin...)

Il existe évidemment un nombre enorme de fonctions mathématiques, comme cos, soch, acosh, sin, ... Je vous invite a fouiller un
peu si jamais ca vous interesse.

Jouons avec les variables :

#!C:\perl\bin\perl.exe -w
use strict;
use warnings;

my $nom = 'Dr_T';
my $age = 18;

print $nom.', '.$age."ans, toutes ses dents\n";
print "$nom, $age ans, toutes ses dents\n";
#les deux print ont la meme sortie

On peut donc mixer les chaines dans une meme chaine...


-------------Fin de la petite présentation--------------
__________________________
Image

HAUT DE PAGE

PROFIL MEMBRE LUI ECRIRE 

Woufeil
Membre du club
Chef de projet(s) :
- AdminServ

Avatar de Woufeil
Inscrit : 21/09/2004
Messages : 825
Message
#87249
Posté le 07/02/06 à 10:46
J'ajouterais que Perl est un langage extrêmement permissif, ce qui est à la fois un défaut et une qualité. La qualité est évidente : pas besoin de trop se casser la tête ! Le défaut est que si le codeur ne fait pas attention, le code peut très vite devenir illisible.

On dit souvent de Perl qu'il est illisible : c'est absolument faux ! Il est parfaitement lisible pour peu que le codeur fasse attention à ce qu'il fait.

Perl excelle dans la gestion des chaînes de caractères et des tableaux. Ainsi, il fait une grande place aux regexp (regular expression) qui permettent de rechercher simplement un motif dans une chaîne de caratère.
Perl gère très bien et très facilement les fichiers. Ceci associé à son traitement intuitif des chaîne de caractère en fait une très bonne arme pour l'analyse de logs divers.

Perl a été conçu pour simplifier les choses courantes (comme l'analyse de logs par exemple) sans pour autant complexifier ou rendre impossible les choses complexes.
On peut donc quasiment tout faire en Perl à l'aide de modules spécifiques.

Il y a trois types de données en Perl : les scalaires (regroupant entier, flottants, chaîne de caractère et référence majoritairement), les tableaux (qui contiennnent des scalires) et les tables de hachages ou hachages ou tableaux associatifs.
Pour distinguer une variable de type scalaire d'une de type tableau ou hachage, on rajoute des symboles spéciaux devant les noms de variables. Ainsi, $i est un scalaire, @tab est un tableau est %hach est une table de hachage.

En plus des structures de cpntrôle existantes dans les autres langages (if-else, when, for, do...while...) Perl rajoute le test unless (à moins que, le contraire du if), la boucle until (jusqu'à) et surtout la boucle foreach qui permet de facilement avoir accés à chaque membre d'un tableau ou d'un hachage.

Perl est à la base un langage de programmation impératif mais il supporte depuis peu la POO.

Si il y a besoin d'un modérateur Perl, je peux exercer cette fonction, lol.
__________________________
[col]Woufeil[/col]
Image
Image et respectez la charte.

HAUT DE PAGE

PROFIL MEMBRE LUI ECRIRE 

Dr_T
Membre MP
Inscrit : 13/02/2005
Messages : 223
Message
#87262
Posté le 07/02/06 à 14:23
Une petite précision : perl n'est pas indiqué pour le calcul énorme, puisqu'il est interpreté...
__________________________
Image

HAUT DE PAGE

PROFIL MEMBRE LUI ECRIRE 
POSTER UN NOUVEAU SUJET REPONDRE A CE SUJET

PREMIERE PAGE

PAGE PRECEDENTE Page précédente

Page suivante

PAGE SUIVANTE DERNIERE PAGE

FORUM PERL



    PAGE : [1]



.: Site Web développé par Julien Pichot et l'équipe MPWG avec www.evolvia-web.com :.