在perl中定义另一个常量时是否有一些使用一个常量的方法?
以下显然不工作
use constant {
MAIN_DIR => "/path/to/some/dir",
PROP_DIR => MAIN_DIR . "/sub_dir",
PROP_FILE => PROP_DIR . "/props.props",
};
我能想到的唯一想法是多条use constant
行,但它有点难看......
答案 0 :(得分:5)
仅供参考,您可以首先使用常量函数(这就是constants
pragma的工作方式):
sub MAIN_DIR () { "/path/to/some/dir" }
sub PROP_DIR () { MAIN_DIR . "/sub_dir" }
sub PROP_FILE () { PROP_DIR . "/props.props" }
答案 1 :(得分:3)
根据perldoc,没有办法解决这个问题。至少不在use constants
。
我会使用多个use
语句。
答案 2 :(得分:1)
$ perl -wle 'use Readonly; Readonly my $FOO => "foo"; Readonly my $FOOBAR => $FOO . "bar"; print $FOOBAR;'
foobar
PBP(Perl最佳实践)建议使用Readonly