Si je définis une constante dans un module Perl, comment puis-je utiliser cette constante dans mon programme principal ? (Ou comment appeler cette constante dans le programme principal).
Réponses
Trop de publicités?Les constantes peuvent être exportées tout comme les autres symboles du paquet. En utilisant la méthode standard Exportateur vous pouvez exporter les constantes d'un paquet comme ceci :
package Foo;
use strict;
use warnings;
use base 'Exporter';
use constant CONST => 42;
our @EXPORT_OK = ('CONST');
1;
Ensuite, dans un script client (ou autre module)
use Foo 'CONST';
print CONST;
Vous pouvez utiliser le %EXPORT_TAGS
(voir la documentation de l'exportateur) pour définir des groupes de constantes qui peuvent être exportées avec un seul argument d'importation.
Mise à jour : voici un exemple d'utilisation de la fonction %EXPORT_TAGS
si vous avez plusieurs constantes.
use constant LARRY => 42;
use constant CURLY => 43;
use constant MOE => 44;
our @EXPORT_OK = ('LARRY', 'CURLY', 'MOE');
our %EXPORT_TAGS = ( stooges => [ 'LARRY', 'CURLY', 'MOE' ] );
Alors vous pouvez dire
use Foo ':stooges';
print "$_\n" for LARRY, CURLY, MOE;
Vous pouvez envisager d'utiliser En lecture seule au lieu de constante.