Chapitre 1. Rappels de notions générales

Cette première partie explicite les notions de référence.

Les références

Une référence en Perl est simplement le nom d'une variable (ou tout autre objet), qui contient l'adresse d'un objet Perl,de même qu'un lien symbolique dans un système tel que Linux, est simplement un nom de fichier.

  1. Exemple 1-1. Création d'un référence

        $scalarref = \$var;               # l'adresse physique de $var
        $arrayref  = \@ARGV;	      # idem pour la globale @ARGV
        $hashref   = \%ENV;		      # idem %ENV
        $coderef   = \&fonction;      # adresse du code de la fonction
        $globref   = \*const;	      # adresse de la constante        
     

    L'opérateur backslash \ s'applique sur une variable (scalair, tableau, hash), un code programme (coderef) ou bien une valeur constante (var).

  2. Exemple 1-2. ref anonyme à un tableau

        $arrayref = ['do', 're', 'mi'];
     

    Nous avons créé une référence à un tableau anonyme.

  3. Exemple 1-3. Référence anonyme à un hash (dictionnaire)

        $hashref = {
          'Do' => 'C',
          'Ré' => 'D',
          'Mi' => 'E',
        };
     

    Il est possible de mélanger ces compositions à loisir.

  4. Exemple 1-4. référence à une routine anonyme

        $subref = sub { print "routine anonyme!\n" };
     

    Le mot réservé sub n'est pas plus une déclaration qu'un opérateur. Ce code n'est pas exécuté et $sub contient la référence, l'adresse, à cette routine.