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