我正在执行以下代码:
#!/usr/bin/perl -w
my $filter1="^p1c|^p2c|^p3c|^p11c|^p23c|^p105csi1m1|^p105csi1m2|^p105csi1m13|^p105csi2m14|^p101csi1m1|^p101csi1m2|^p101csi1m13|^p101csi2m14|^p103csi1m1|^p103csi1m2|^p103csi1m13|^p103csi2m16|^p102csi1m1|^p102csi1m2|^p102csi1m13|^p102csi2m16|^p100csi1m4|^p100csi1m5|^p100csi2m13|^p100csi1m14";
my $filter2="^p105csi2m13|^p105csi1m14";
$n1="p105csi1m14";
my $m1 .= "$n1 " if($n1 =~ m/$filter1/);
my $m2 .= "$n1 " if($n1 =~ m/$filter2/);
print "\nmatch 1 => $m1\n";
print "\nmatch 2 => $m2\n";
上述代码的输出如下:
match 1 => p105csi1m14
match 2 => p105csi1m14
预期结果如下:
match 1 =>
match 2 => p105csi1m14
我不确定它为什么会这样。有人可以帮助解决上述问题吗?