構成ファイルの多くの定義済み定数を含むこの Perl スクリプトがあります。例えば:
use constant {
LOG_DIR => "/var/log/",
LOG_FILENAME => "/var/log/file1.log",
LOG4PERL_CONF_FILE => "/etc/app1/log4perl.conf",
CONF_FILE1 => "/etc/app1/config1.xml",
CONF_FILE2 => "/etc/app1/config2.xml",
CONF_FILE3 => "/etc/app1/config3.xml",
CONF_FILE4 => "/etc/app1/config4.xml",
CONF_FILE5 => "/etc/app1/config5.xml",
};
「/etc/app1」と「/var/log」の重複を減らしたいのですが、変数を使用してもうまくいきません。また、以前に定義された定数の使用は、同じ「定数ブロックの使用」では機能しません。例えば:
use constant {
LOG_DIR => "/var/log/",
FILE_FILENAME => LOG_DIR . "file1.log"
};
動作しません。
別の「use constant」ブロックを使用すると、この問題を回避できますが、多くの不要なコードが追加されます。
これを行う正しい方法は何ですか?
ありがとうございました。