Différences entre versions de « Perl »

De Didaquest
Aller à la navigationAller à la recherche
Ligne 181 : Ligne 181 :
  
  
<span style="color:blue"><big><U> <p><FONT size="4">'''2.La syntaxe du langage'''</p></FONT></U></big></span>  
+
{{@}} <span style="color:purple" >'''Syntaxe du langage Perl''' </span>  
 
Perl est dérivé du langage C et a conservé un grand nombre d'éléments de sa syntaxe (syntaxe de la boucle for, bloc délimité par des accolades, point-virgule en fin de ligne, indice des tableaux entre crochet, etc.).
 
Perl est dérivé du langage C et a conservé un grand nombre d'éléments de sa syntaxe (syntaxe de la boucle for, bloc délimité par des accolades, point-virgule en fin de ligne, indice des tableaux entre crochet, etc.).
  
====a) Les types de données ====
+
*Les types de données  
 
Perl est un langage faiblement typé. Il existe principalement '''trois structures de données''' : les scalaires, les tableaux et les tables de hachage. Chaque structure de données est liée à un caractère spécial.
 
Perl est un langage faiblement typé. Il existe principalement '''trois structures de données''' : les scalaires, les tableaux et les tables de hachage. Chaque structure de données est liée à un caractère spécial.
 
[[Fichier:Type.png|vignette]]
 
[[Fichier:Type.png|vignette]]
Ligne 190 : Ligne 190 :
  
 
'''.1)Les variables scalaires'''
 
'''.1)Les variables scalaires'''
Les variables scalaires peuvent contenir soit des nombres soit des chaînes de caractères.
+
*Les variables scalaires peuvent contenir soit des nombres soit des chaînes de caractères.
 
[[Fichier:TYPES.png|vignette]]
 
[[Fichier:TYPES.png|vignette]]
  
Exempl:e
+
*'''Exemple:'''
$priority = 9;
+
    $priority = 9;
$priority = "high";
+
    $priority = "high";
$priority = 'high';
+
    $priority = 'high';
  
Les noms des variables comprennent en général des lettres, nombres et underscore, mais ne commencent jamais par un nombre. Elles ont pour préfixe le caractère $. La variable $_ est spéciale.
+
Les noms des variables comprennent ne commencent jamais par un nombre.  
 +
Elles ont pour préfixe '''le caractère $'''.  
  
'''Assignation'''
+
*'''Assignation'''
 
Les opérateurs arithmétiques fonctionnent comme en C.
 
Les opérateurs arithmétiques fonctionnent comme en C.
 +
*'''Exemple:'''
 +
    $a = 1 + 2;
 +
    $a++;
  
$a = 1 + 2;
+
*'''Les opérateurs sur les Strings''' sont les suivants:
$a++;
+
*'''Exemple:'''
 +
    $a = $b . $c;  # Concaténation de $b et $c
 +
    $a = $b x $c;   # $b est répété $c fois
 +
    $a .= $b;       # On ajoute (append) $b à $a (String)
  
'''Les opérateurs sur les Strings''' sont les suivants:
+
*'''Affichage des variables'''
 +
*'''Exemple:'''
 +
    '''Le code suivant affiche "pommes et poires" :'''
 +
      $a = "pommes";
 +
      $b = "poires";
 +
      print "$a et $b\n";
  
$a = $b . $c;  # Concaténation de $b et $c
+
       '''Le code suivant affiche "4 pommes" :'''
$a = $b x $c;  # $b est répété $c fois
 
$a .= $b;       # On ajoute (append) $b à $a (String)
 
  
'''Affichage des variables'''
+
      $a = "pommes";
 +
      $b = 4;
 +
      print "$b $a\n";
  
Le code suivant affiche "pommes et poires" :
 
  
$a = "pommes";
+
'''.2)Les variables de type tableau'''
$b = "poires";
+
Les tableaux sont des listes de scalaires (nombres ou chaînes de caractères).
print "$a et $b\n";
+
Les variables de tableaux ont le même format que les variables scalaires à part qu'elles sont préfixées par '''le symbole @.'''
 +
*'''Exemple:'''
 +
    @food  = ("apples", "pears", "eels");
 +
    @music = ("whistle", "flute");
  
Le code suivant affiche "4 pommes" :
+
    On assigne une liste de trois éléments dans une variable de tableau @food et une liste de deux éléments à une variable de tableau @music.
 +
    *On peut accéder aux différents éléments de ce tableau à l'aide d'indices démarrant à 0.
 +
    L'expression $food[2] '''retourne "eels"'''. On notera que le symbole @ a été changé en $ car '''"eels" est un scalaire'''.
  
$a = "pommes";
+
    L'instruction  $food[3] = "orange";  
$b = 4;
+
    permet d'assigner le scalaire "orange" à la position 3 du tableau @food;  
print "$b $a\n";
+
    on pourrait également utiliser l'instruction  push(@food, "eggs"); afin d'ajouter le scalaire "orange" à la fin du tableau.
 +
    La fonction push retourne la longueur de la nouvelle liste.
 +
    L'indice du dernier élément de la liste peut se retrouver à l'aide de l'expression $#food.
  
.2)'''Les variables de type tableau'''
+
    *Pour supprimer le dernier élément de la liste, on peut utiliser la fonction pop. Cette fonction retourne l'élément supprimé.
Les tableaux sont des listes de scalaires (nombres ou chaînes de caractères). Les variables de tableaux ont le même format que les variables scalaires à part qu'elles sont préfixées par le symbole @.
 
L'instruction
 
  
@food = ("apples", "pears", "eels");
+
    $element = pop(@food);  
@music = ("whistle", "flute");
+
    #  $element = "eels"
  
assigne une liste de trois éléments dans une variable de tableau @food et une liste de deux éléments à une variable de tableau @music.
+
''''''Affichage d'un tableau''''''
  
On peut accéder aux différents éléments de ce tableau à l'aide d'indices démarrant à 0. L'expression $food[2] retourne "eels". On notera que le symbole @ a été changé en $ car "eels" est un scalaire.
+
    Les instructions suivantes permettent d'afficher le tableau @food :
  
L'instruction
+
    print "@food";
  
$food[3] = "orange";
+
'''.3)Les variables hachages(tableaux associatifs):'''
  
permet d'assigner le scalaire "orange" à la position 3 du tableau @food; on pourrait également utiliser l'instruction
+
     les tables de hachage sont aussi appelées tableaux associatifs (comme en PHP), dictionnaires (comme en Python), ou simplement hachages (hash en  
 
+
anglais) et constituent les structures de données les plus intéressantes de Perl.
push(@food, "eggs");
 
 
 
afin d'ajouter le scalaire "orange" à la fin du tableau. La fonction push retourne la longueur de la nouvelle liste. L'indice du dernier élément de la liste peut se retrouver à l'aide de l'expression $#food.
 
 
 
Pour supprimer le dernier élément de la liste, on peut utiliser la fonction pop. Cette fonction retourne l'élément supprimé.
 
 
 
$element = pop(@food);     #  $element = "eels"
 
 
 
'''Affichage d'un tableau'''
 
 
 
Les instructions suivantes permettent d'afficher le tableau @food :
 
 
 
print "@food";
 
 
 
.3)'''Les variables hachages(tableaux associatifs):'''
 
 
 
les tables de hachage sont aussi appelées tableaux associatifs (comme en PHP), dictionnaires (comme en Python), ou simplement hachages (hash en anglais) et constituent les structures de données les plus intéressantes de Perl.
 
  
 
'''# Exemple de table de hachage en Perl :'''
 
'''# Exemple de table de hachage en Perl :'''

Version du 23 mai 2021 à 20:55


Autres Fiches Conceptuelles
Posez une Question


(+)

Target Icon.pngVotre Publicité sur le Réseau Target Icon.png

Puce-didaquest.png Traduction


More-didaquest.png Traductions


Puce-didaquest.png Définition

Domaine, Discipline, Thématique


More-didaquest.png Justification


Définition écrite



Blue-circle-target.png Information sur Perl

     * Date de première version: 18 décembre 1987 .
     * Paradigmes: Objet, impératif, fonctionnel, réflexif, procédural, événementiel, générique
     * Auteur: Larry Wall
     * Développeurs: The Perl Foundation
     * Licence: Licence artistique 1.0[4][5] ou licence publique générale GNU[6]
                   
     * Dernière version: 5.32.1 (23 janvier 2021)
     * Système d'exploitation: Multiplateforme
     * Typage: Faible, dynamique
     * Influencé par: C, BASIC, Eiffel, shell, sed, awk
     * Écrit en: C
     * Extensions de noms de fichiers: .plx, .pl, .pm, .xs, .t, .pod
     * Site internet: www.perl.org


Blue-circle-target.png Environnement Perl

  • Pour travailler avec Perl, vous allez avoir besoin de deux programmes : un interpréteur Perl et un éditeur de texte.
  • Pour installer l’interpréteur Perl sur votre machine, rendez vous sur http://strawberryperl.com/, puis cliquez sur la version qui correspond à votre ordinateur.
  • Maintenant, pour programmer il faut utiliser un éditeur de texte pour écrire le fichier source d'un programme écrit en Perl.
 Il en existe plusieurs editeurs comme :*Gedit.jpeg ,  *Notepad++.jpegNotepad++......

  • Maintenant que vous avez tous les outils nécessaires pour coder en Perl, nous allons enfin réaliser notre premier programme !


Blue-circle-target.png votre premier programme

 Exemple
     use strict;
     use warnings;
     print "Hello, world!";
     <>;
    
     La première ligne est un commentaire obligatoire qui indique l'endroit où les trouve l'interpréteur Perl.
     La deuxième ligne est une commande, qui imprimera Hello, world! à l'écran une fois exécuté le programme


Blue-circle-target.png comment exécuter un programme perl

Le mettre dans un fichier, par exemple helloworld.pl.
Rendre le fichier exécutable (LINUX: chmod u+x helloworld.pl).
Taper le nom du fichier helloworld.pl
    Exec.png

More-didaquest.png Perl - Historique (+)


Définition graphique




Puce-didaquest.png Concepts ou notions associés


More-didaquest.png Perl - Glossaire / (+)



Puce-didaquest.png Exemples, applications, utilisations


Blue-circle-target.png Syntaxe du langage Perl Perl est dérivé du langage C et a conservé un grand nombre d'éléments de sa syntaxe (syntaxe de la boucle for, bloc délimité par des accolades, point-virgule en fin de ligne, indice des tableaux entre crochet, etc.).

  • Les types de données

Perl est un langage faiblement typé. Il existe principalement trois structures de données : les scalaires, les tableaux et les tables de hachage. Chaque structure de données est liée à un caractère spécial.

Type.png


.1)Les variables scalaires

  • Les variables scalaires peuvent contenir soit des nombres soit des chaînes de caractères.
TYPES.png
  • Exemple:
   $priority = 9;
   $priority = "high";
   $priority = 'high';

Les noms des variables comprennent ne commencent jamais par un nombre. Elles ont pour préfixe le caractère $.

  • Assignation

Les opérateurs arithmétiques fonctionnent comme en C.

  • Exemple:
   $a = 1 + 2;
   $a++;
  • Les opérateurs sur les Strings sont les suivants:
  • Exemple:
   $a = $b . $c;   # Concaténation de $b et $c
   $a = $b x $c;   # $b est répété $c fois
   $a .= $b;       # On ajoute (append) $b à $a (String)
  • Affichage des variables
  • Exemple:
   Le code suivant affiche "pommes et poires" :
      $a = "pommes";
      $b = "poires";
      print "$a et $b\n";
     Le code suivant affiche "4 pommes" :
      $a = "pommes";
      $b = 4;
      print "$b $a\n";


.2)Les variables de type tableau Les tableaux sont des listes de scalaires (nombres ou chaînes de caractères). Les variables de tableaux ont le même format que les variables scalaires à part qu'elles sont préfixées par le symbole @.

  • Exemple:
   @food  = ("apples", "pears", "eels");
   @music = ("whistle", "flute");
   On assigne une liste de trois éléments dans une variable de tableau @food et une liste de deux éléments à une variable de tableau @music.
   *On peut accéder aux différents éléments de ce tableau à l'aide d'indices démarrant à 0.
   L'expression $food[2] retourne "eels". On notera que le symbole @ a été changé en $ car "eels" est un scalaire.
   L'instruction   $food[3] = "orange"; 
   permet d'assigner le scalaire "orange" à la position 3 du tableau @food; 
   on pourrait également utiliser l'instruction  push(@food, "eggs"); afin d'ajouter le scalaire "orange" à la fin du tableau. 
   La fonction push retourne la longueur de la nouvelle liste. 
   L'indice du dernier élément de la liste peut se retrouver à l'aide de l'expression $#food.
   *Pour supprimer le dernier élément de la liste, on peut utiliser la fonction pop. Cette fonction retourne l'élément supprimé.
    $element = pop(@food);    
    #  $element = "eels"

'Affichage d'un tableau'

    Les instructions suivantes permettent d'afficher le tableau @food :
    print "@food";

.3)Les variables hachages(tableaux associatifs):

   les tables de hachage sont aussi appelées tableaux associatifs (comme en PHP), dictionnaires (comme en Python), ou simplement hachages (hash en 
anglais) et constituent les structures de données les plus intéressantes de Perl.

# Exemple de table de hachage en Perl :

  1. %tab est une table de hachage

my %tab = (nom=>"DUPONT",prenom=>"Pierre",age=>23);

  1. $tab{nom} est l'élément "nom" de la table de hachage : il vaut "DUPONT" et c'est un scalaire

print "NOM : $tab{nom}\n"; print "Prénom : $tab{prenom}\n"; print "Age : $tab{age}\n"; #Les fichiers Voici un programme Perl qui affiche le contenu du fichier "/etc/passwd" en sortie standard.

  1. !/usr/local/bin/perl -w

$file = "/etc/passwd"; # Nom du fichier open(INFO, $file); # ouverture du fichier @lines = <INFO>; # lecture du fichier dans un tableau close(INFO); # fermeture du fichier print @lines; # affichage du tableau

La fonction open ouvre le fichier en lecture. Le premier argument est le descripteur de fichier qui permet à Perl de se référer au fichier. Le deuxième argument indique le nom du fichier. La fonction close indique à Perl de fermer le descripteur de fichier. Dans le programme ci-dessus, l'information est lue dans un fichier. Le fichier a pour descripteur INFO, et pour lire dans celui-ci, Perl utilise des angles. Ainsi, l'instruction

@lines = <INFO>;

lit le fichier référencé par INFO et met son contenu dans le tableau @lines. Notez que l'expression <INFO> lit le fichier entièrement en une seule fois. Ceci est dû au fait que la lecture a pour contexte une variable de tableau. Si @lines est remplacé par un scalaire $lines alors seule la prochaine ligne est lue. Dans chacun des cas, chaque ligne est stockée complètement avec son caractère "newline" à la fin.

Le fichier peut être ouvert en écriture également ou en ajout. Pour cela, il faut préfixer le nom du fichier avec > si écriture et un >> si ajout :

open(INFO, $file); # ouvert en lecture open(INFO, ">$file"); # ouvert en écriture open(INFO, ">>$file"); # ouvert en ajout open(INFO, "<$file"); # ouvert en lecture

Pour écrire dans un fichier que vous avez déjà ouvert en écriture, vous pouvez utiliser l'instruction print avec un argument supplémentaire. Pour écrire une chaîne de caractères dans un fichier dont le descripteur de fichier est INFO, utiliser

print INFO "This line goes to the file.\n";

Pour ouvrir l'entrée standard et la sortie standard, vous pouvez utilisez respectivement :

open(INFO, '-'); # Ouverture de l'entrée standard open(INFO, '>-'); # Ouverture de la sortie standard

b)Les structures de contrôle .1)Les conditions

Le if marche comme en C comme le montre l'exemple suivant : if ($a) { print "La chaine n'est pas vide\n"; } else { print "La chaine est vide\n"; } Les accolades sont néanmoins obligatoires. Les tests

Voici quelques tests qui retournent vrai ou faux :

$a == $b # indique si $a est numériquement égal à $b? $a != $b # indique si $a n'est pas égal numériquement à $b? $a eq $b # indique si la chaîne de caractères $a est égale à la chaîne de caractères $b? $a ne $b # indique si la chaîne de caractères $a n'est pas égale à la chaîne de caractères $b?

On peut aussi utiliser des opérateurs logiques :

($a && $b) # $a ET $b ($a


(+)


Puce-didaquest.png Erreurs ou confusions éventuelles



Puce-didaquest.png Questions possibles



Puce-didaquest.png Liaisons enseignements et programmes

  • Les bases de données : Il s'agit d'aborder le modèle relationnel, les systèmes de gestion de bases de données relationnelles et le langage SQL ;

et aussi les interfaces qui permettent la communication, la collecte des données et la commande des systèmes. Perl en tire une partie de sa grande puissance pour l'analyse et le traitement des données textuelles.


}}

Aides et astuces



Education: Autres liens, sites ou portails




Puce-didaquest.png Bibliographie