[Perl] Appel sous-routine
Philippe Bruhat (BooK)
philippe.bruhat at free.fr
Lun 8 Fév 02:20:29 CET 2016
On Sun, Feb 07, 2016 at 11:49:58PM +0100, Patrick Dupre wrote:
> Bonjour,
>
> Dans le programme principal, j'ai
> use Absorption_FM qw (Gaussian_FM) ;
Ceci ajoute la fonction Gaussian_FM dans ton namespace (main::).
> Gaussian_FM et correctement implementee dans Absorption_FM.pm avec
> our @EXPORT = qw (Gaussian_FM) ;
> Je l'appele par Absorption_FM::Gaussian_FM () ;
>
> Dans le programme principal, j'ai aussi une function:
> Gaussian_FM
> que j'appele par:
> Gaussian_FM () ;
Celle-ci aussi est dans le namespace main::, d'où le warning.
> Donc il pourrait y avoir une confusion, en fait il n'y en a pas, tout
> ce passe comme espere, sauf a al compilation, j'ai un warning:
> Subroutine Gaussian_FM redefined at /home/pdupre/bin/Profile line 1815
>
> Il doit donc y avoir quelque pas de pas tres correct!
>
> Comment clarifier tout risque de confusion ?
Le plus simple est de ne pas exporter la fonction issue du module
Absorption_FM en le chargeant comme suit:
use Absorption_FM (); # `perldoc -f use` pour les détails
--
Philippe Bruhat (BooK)
No matter who you may be, there is always someone who is a little worse
because he thinks he is a little better.
(Moral from Groo The Wanderer #3 (Epic))
Plus d'informations sur la liste de diffusion Perl