С perldoc perlvar :
$+
: текст, соответствующий последней скобке последнего успешного
шаблон поиска.
против
$^N
: текст, соответствующий использованной группе, которая была закрыта совсем недавно (т.е.
группа с самой правой закрывающей скобкой) последней
шаблон успешного поиска.
Это должно иллюстрировать разницу:
#!/usr/bin/perl
use strict; use warnings;
my $s = '12345';
if ( $s =~ /(1([0-9]))/ ) {
print "$_\n" for $+, $^N;
}
Выход:
2
12