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

Mic*_*eyn 6 perl

出发点:

my @array=qw(word1 word2 word3);
Run Code Online (Sandbox Code Playgroud)

现在我想把每个单词放在一个单独的行上:

my @array=qw(
   word1
   word2
   word3
);
Run Code Online (Sandbox Code Playgroud)

现在我想添加评论:

my @array=qw(
   word1 # This is word1
   word2 # This is word2
   word3 # This is word3
);
Run Code Online (Sandbox Code Playgroud)

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

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

ike*_*ami 7

我建议避免qw.

my @array = (
   'word1',  # This is word1
   'word2',  # This is word2
   'word3',  # This is word3
);
Run Code Online (Sandbox Code Playgroud)

但是你可以使用Syntax :: Feature :: QwComments.

use syntax qw( qw_comments );

my @array = qw(
   word1  # This is word1
   word2  # This is word2
   word3  # This is word3
);
Run Code Online (Sandbox Code Playgroud)

或者自己解析.

sub myqw { $_[0] =~ s/#[^\n]*//rg =~ /\S+/g }

my @array = myqw(q(
   word1  # This is word1
   word2  # This is word2
   word3  # This is word3
));
Run Code Online (Sandbox Code Playgroud)