Константы можно экспортировать так же, как и другие символы пакета. Используя стандартный модуль Exporter , вы можете экспортировать константы из пакета, подобного этому:
package Foo;
use strict;
use warnings;
use base 'Exporter';
use constant CONST => 42;
our @EXPORT_OK = ('CONST');
1;
Затем в клиентском скрипте (или другом модуле)
use Foo 'CONST';
print CONST;
Вы можете использовать хеш %EXPORT_TAGS
(см. Документацию Exporter) для определения групп констант, которые можно экспортировать с помощью одного аргумента импорта.
Обновление: вот пример того, как использовать функцию %EXPORT_TAGS
, если у вас есть несколько констант.
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' ] );
Тогда вы можете сказать
use Foo ':stooges';
print "$_\n" for LARRY, CURLY, MOE;