Résultats de 1 à 4 sur 4

Sujet : PRESENTATION Perl

  1. #1
    Visiteur MP
    Visiteur MP

    PRESENTATION Perl

    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

  2. #2
    Membre MP
    Inscrit
    août 2013
    Messages
    223
    ----------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 ).

    - 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--------------

  3. #3
    Membre MP
    Inscrit
    août 2013
    Messages
    817
    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.

  4. #4
    Membre MP
    Inscrit
    août 2013
    Messages
    223
    Une petite précision : perl n\'est pas indiqué pour le calcul énorme, puisqu\'il est interpreté...

Informations du sujet

Utilisateur(s) parcourant ce sujet

il y a actuellement 1 utilisateur(s) parcourant ce sujet. (0 membre(s) et 1 visiteur(s))

Règles des messages

  • Vous ne pouvez pas créer de sujets
  • Vous ne pouvez pas répondre aux sujets
  • Vous ne pouvez pas importer de fichiers joints
  • Vous ne pouvez pas éditer vos messages
  •  
  • Les BB codes sont Activés
  • Les Smileys sont Activés
  • Le BB code [IMG] est Activé
  • Le code [VIDEO] est Activé
  • Le code HTML est Désactivé