起点:
my @array=qw(word1 word2 word3);
现在我想把每个单词放在一个单独的行上:
my @array=qw(
word1
word2
word3
);
现在我要添加评论:
my @array=qw(
word1 # This is word1
word2 # This is word2
word3 # This is word3
);
上述当然不起作用,并使用使用警告生成警告。
那么,从上面的注释列表中创建数组的最佳方法是什么?
答案 0 :(得分:6)
我建议避免使用qw
。
my @array = (
'word1', # This is word1
'word2', # This is word2
'word3', # This is word3
);
但你可以使用Syntax::Feature::QwComments。
use syntax qw( qw_comments );
my @array = qw(
word1 # This is word1
word2 # This is word2
word3 # This is word3
);
或者自己解析。
sub myqw { $_[0] =~ s/#[^\n]*//rg =~ /\S+/g }
my @array = myqw(q(
word1 # This is word1
word2 # This is word2
word3 # This is word3
));