为多行引用词添加注释的最佳方法是什么?

时间:2014-05-05 14:12:35

标签: perl

起点:

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
);

上述当然不起作用,并使用使用警告生成警告。

那么,从上面的注释列表中创建数组的最佳方法是什么?

1 个答案:

答案 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
));