my $s = '>P1;MOREWORDS';
if ($s =~ m/^>.{2};.*/) {
print "jjjjj\n";
my $or = $s =~ /^>.{2};(.*)/;
}
当我尝试print $or
时,我得到1
,而不是MOREWORDS
我试图使用(.)
进行捕获,但未能这样做。
它在匹配后正确打印jjjjjj
答案 0 :(得分:4)
Match在标量上下文中返回一个布尔值。强制列表上下文使其返回捕获的字符串:
my ($or) = $s =~ /^>.{2};(.*)/;