use constant {
COLUMNS => qw/ TEST1 TEST2 TEST3 /,
}
我可以使用Perl中的常量包来存储数组吗?
每当我继续尝试使用像my @attr = (COLUMNS);
这样的数组时,它都不包含值。
答案 0 :(得分:11)
或删除大括号docs显示: -
1 use strict;
2 use constant COLUMNS => qw/ TEST1 TEST2 TEST3 /;
3
4 my @attr = (COLUMNS);
5 print @attr;
给出: -
% perl test.pl
TEST1TEST2TEST3
您的代码实际上定义了两个常量COLUMNS和TEST2: -
use strict;
use constant { COLUMNS => qw/ TEST1 TEST2 TEST3 /, };
my @attr = (COLUMNS);
print @attr;
print TEST2
并给出: -
% perl test.pl
TEST1TEST3
答案 1 :(得分:7)
use constant {
COLUMNS => [qw/ TEST1 TEST2 TEST3 /],
};
print @{+COLUMNS};