出发点:
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)
上述当然不起作用,并使用警告生成警告.
那么,从上面的注释列表中创建数组的最佳方法是什么?
我建议避免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)