各ソースに共通で使える定数を用意したくて、以下の3つのソースを用意しました。
↓test.pl
-----
#!/usr/bin/perl
use strict;
use const; # この行をコメントアウトすると動く
use func;
my $obj = func->new();
$obj->print_var();
-----
↓func.pm
-----
package func;
use const;
sub new() {
my $class = shift;
my $self = {@_};
bless $self, $class;
}
sub print_var() {
printf('[%s]', FOO);
}
1;
-----
↓const.pm
-----
use constant FOO => 'aaa';
1;
-----
tesp.plを実行しても、const.pmの中のFOOの値が表示されずに、そのまま"[FOO]"が表示されます。
でも、test.plの中の「use const;」をコメントアウトすると、きちんと"[aaa]"が表示されます。
各ページで共通の定数を用意したいときは、違う方法が必要なのでしょうか?