next up previous contents
Next: Récupérer les variables du Up: Variables et tableaux Previous: Variables et tableaux

Déclarations de variables

L'utilisation de use strict rend la déclaration des variables obligatoires. Avec Perl, c'est la fonction unique my qui sert à déclarer les variables et tableaux, en effet, Perl n'est pas un langage typé et un variable peut contenir un entier, un caractère ou un tableau de caractère, un flottant, un long, un double, ...elle est toujours déclarer avec la même fonction.

Ainsi le code suivant ne fonctionnera pas alors qu'il est correct et fonctionnera sans problème si on retire le use strict en ligne 3 :

#!/usr/bin/perl

use strict;
$entry = <STDIN>;
print $entry;

Dans l'exemple ci-dessus, nous avons utilisé une variable en tant que valeur textuelle. Il est bien entendu que algébriquement parlant, mener une opération entre deux valeurs textuelles est relativement compromis. Perl, en fait ne donnera pas un type précis à une variable et nous utiliserons le contexte pour dire à Perl si nous souhaitons un type particulier.

#!/usr/bin/perl

use strict;
my $a = 1;
my $b = "4";
my $result = $a + $b;
print $result . "\n";

Donnera le resultat suivant :

[~] $ ./test.pl 
5
[~] $

Une autre possibilité de Perl pour stocker des données en mémoire est l'utilisation des tableaux. Au lieu d'utiliser le $ le tableau utilise le signe distinctif @ .

Un tableau est une association de variables, ainsi le tableau @tab est constitué des variables

$tab[0], $tab[1] ... $tab[n]

Pour récupérer les valeurs qui remplissent un tableau, il existe la fonction foreach . Sachant que le tableau @ARGV contient tous les arguments que l'on a passé au programme au moment de le lancer, voici un petit programme qui va compter les options qui lui sont passées et va les afficher :

#!/usr/local/bin/perl

use strict;

my $tmp; 
my @tab = @ARGV;
my $id = "0";

foreach $tmp(@tab)
{
    $id++;
    print("$tmp\n");
}

print("$id options\n");

Nous donnera le résultat suivant :

~/perl $ ./ex.pl je tape un certain nombres d\'options
je
tape
un
certain
nombres
d'options
6 options
~/perl $

Il existe des variables déja définies par Perl. Par exemple : $_ est remplie, si aucune autre variable n'est précisée, lorsque l'on fait rentrer une valeur par un filehandle. Le tableau @_ est rempli par les options que l'on passe à un sub . la variable $! contient le dernier message d'erreur. Comme déjà précisé plus haut, @ARGV reprend les options passés au script depuis l'invite.

Toutes ces variables n'ont pas besoins d'être déclarées, même en utilisant use strict , c'est Perl qui se charge de les déclarer automatiquement.


next up previous contents
Next: Récupérer les variables du Up: Variables et tableaux Previous: Variables et tableaux
Stephane TOUGARD
6/20/2001