2010-08-10 80 views
2

在perl中定義另一個常量時,是否有一些使用一個常量的方式?perl中的「遞歸」常量

下顯然是不工作

use constant { 
    MAIN_DIR => "/path/to/some/dir", 
    PROP_DIR => MAIN_DIR . "/sub_dir", 
    PROP_FILE => PROP_DIR . "/props.props", 
}; 

唯一想我能想到的是多use constant線,但它是一個有點難看......

回答

3

根據perldoc沒有辦法在那附近。至少不能與use constants

我會去使用多個use陳述。

5

僅供參考,您可以首先使用恆定的功能(這是constants編譯的工作原理):

sub MAIN_DIR () { "/path/to/some/dir"  } 
sub PROP_DIR () { MAIN_DIR . "/sub_dir"  } 
sub PROP_FILE() { PROP_DIR . "/props.props" } 
1
$ perl -wle 'use Readonly; Readonly my $FOO => "foo"; Readonly my $FOOBAR => $FOO . "bar"; print $FOOBAR;' 
foobar 

PBP(Perl的最佳實踐)建議使用Readonly