Я пытаюсь использовать множественные обратные ссылки в Perl, чтобы сопоставить 5 разных шаблонов, но я не получаю соответствия, кроме первого.
Я пробовал следующее:
my $string = ">abc|XYUXYU|KIOKEIK_7XNCU Happy, not-happy apple banana X ORIG=Came from trees NBMR 12345 OZ=1213379 NG=popZ AZ=2 BU=1";
$string =~ m/>(abc)|(.*)|.*ORIG=(.*)[A-Z].*NG=(.*)\s(.*)\s/;
print "First match should be 'abc'. We got: $1\n";
print "Second match should be 'XYUXYU'. We got: $2\n";
print "Third match should be 'Came from trees'. We got: $3\n";
print "Fourth match should be 'popZ'. We got: $4\n";
print "Fifth match should be 'AZ=2'. We got: $5\n";
Я хотел в качестве вывода:
First match should be 'abc'. We got: abc
Second match should be 'XYUXYU'. We got: XYUXYU
Third match should be 'Came from trees'. We got: Came from trees
Fourth match should be 'popZ'. We got: popZ
Fifth match should be 'AZ=2'. We got: AZ=2
Любая подсказка, как решить эту проблему правильно на Perl?