Нет эквивалента заголовочным файлам C в Perl. Чтобы объявить и определить глобальные константы, вы можете использовать прагму define . У меня нет опыта работы с этим модулем, хотя интерфейс кажется разумным.
С другой стороны, вы можете написать модуль, в котором вы определяете константы, и импортировать их в свой модуль, используя use
. Например:
package MyConstants;
use strict; use warnings;
use Exporter qw( import );
use Const::Fast;
our @EXPORT = qw();
our @EXPORT_OK = qw( $X $Y );
const our $X => 'this is X';
const our $Y => 'this is Y';
__PACKAGE__;
__END__
Затем вы можете использовать этот модуль следующим образом:
#!/usr/bin/perl
use strict; use warnings;
use MyConstants qw( $X );
print "$X\n";
print "$MyConstants::Y\n";
Если вы в порядке с использованием полных имен переменных (например, $MyConstants::Y
), вам вообще не нужен Exporter
.
Кроме того, убедитесь, что экспортируемые переменные не могут быть изменены в других местах (см. Предупреждение в Exporter
документах).
Конечно, вы также можете определить константы, используя constant.pm . Возможно, быстрее использовать такие константы, но они неудобны, если вам нужно интерполировать их в строку.