FTLS.org 
Francais     English
 
 
Accueil
 
 Linux
Introduction
Liens
 
 Initiation
Internet
HTML
CGI
Perl
 
 Archives
Java
Perl Tools
Scripts CGI
Scripts PHP
 
 Calculatrices
HP 48
TI 92
 
 Gratuit du Net
A Gratuit
Comparatifs
Se divertir
 
 Aide Webmasters
Trucs & Astuces
JavaScript
 
 Site
Partenaires
Contact
 
 Powered by
linux
 

Initiation


Initiation au Perl



8. Les procédures

    Perl comporte déjà des fonction intégrées, mais on a aussi besoin de créer ses fonctions propres, appelées procédures. Elles peuvent être placées n'importe où dans le programme, mais il est plutôt préférable des les placer toutes au début ou à la fin. Une procédure a la forme suivante :

sub ma_procedure {
    print "Merci d'avoir exécuter ma procédure.\n";
}


    Dans la suite du programme, elle peut être exécutée par l'appel suivant :
    &ma_procedure;

    8.1 Variables locales

        Lorsque l'on crée un procédure, il est préférable que les variables de la utilisée dans la procédure n'interfère pas avec celle contenue dans le reste du programme. On définit donc des variables local de la manière suivante :

        local(<$var1>, <$var2>, ... , <$varN>);
    ou
        my(<$var1>, <$var2>, ... , <$varN>);


        Ces variables locale ne sont définie qu'à l'intérieur de la procédure, et sont réinitialisée à chaque appels.

    8.2 Paramètres

        Il est souvent utile de pouvoir passer des paramètres à une procédure, ont utilise donc la syntaxe suivante lors de l'appel :

    &ma_procedure;        # Appel sans paramètre
    &ma_procedure($p1);    # Appel la routine avec 1 paramètre
    &ma_procedure($p1,$p2); # Appel la routine avec 2 paramètres


        Quand on appel la procédure, tous les paramètres passés sont stockés dans une variable (tableau) spéciale @_ . Ainsi on peut les utiliser soit directement à partir de cette variable, ou les affecter à une variable locale.

    Exemple 1:
    sub ma_procedure {
        print "Les paramètres sont : "; print @_; # Affiche tous les paramètres
        print "\n\n";
        print "Le 1er paramètre est : $_[0]\n";
        print "Le 2em paramètre est : $_[1]\n";
    }


    Exemple 2:
    sub ma_procedure {
        my($p1, $p2) = @_;     print "Le 1er paramètre est : $p1\n";
        print "Le 2em paramètre est : $p2\n";
    }

    8.3 Renvoi des valeurs

        Le résultat d'une procédure est toujours la dernière variable évaluée. Mais pour la lisibilité, on préfère souvent utiliser la fonction "return" qui sort de la procédure en renvoyant le résultat.

    Par Exemple:

    ($v1, $v2) = &ma_procedure(25, 66); print "v1: $v1\n;    # 1650 print "v2: $v2\n;    # 91

    sub ma_procedure {
        my($p1, $p2) = @_;
        return ($p1*$p2,$p1+$p2) ;
            # renvoie la multiplication et l'addition des 2 arguments.
    }



 
© Copyright 2000 FTLS (Tyndiuk Frédéric). All rights reserved.
Last Update 08/03/2000 - Send all comments to webmaster@ftls.org