Я хотел бы создать специальный пакет для всех общих объявлений основной программы Perl и других пакетов, не повторяя эти объявления в каждом заголовке. Я точно ошибаюсь, но не мог понять, что за этим стоит:
Предположим:
- Я установил свои общие данные в пакете my_common_declarations.pm.
- Я хочу использовать эти данные в другом пакете, my_perl_utils.pm strong > например.
#!/usr/bin/perl -w
package my_perl_utils;
use parent qw(Exporter);
our @EXPORT_OK = qw(f1 f2);
use my_common_declarations qw(debugme);
my %setup = &debugme;
my $DEBUGME = $setup{setup}{debugme};
# This generates this error : "Use of uninitialized value"
use constant true => $setup{setup}{'true'};
print "=" x25, "\nDEBUG true :\nimport = " . $setup{setup}{'true'} . "\nconstant = " , true , "\n", "=" x25, "\n";
sub f1{
# some rationals using the true or false constants
}
sub f2{
}
1;
Мне не удается получить "истинную" константу, объявленную без ошибок.
Должен ли я импортировать пакет общих объявлений только один раз в основную программу и объявить там константу соответствующим образом или повторно объявить ее в каждом пакете, где мне нужна эта константа?
Спасибо