>perl -wMstrict -le "my $N = 3; my $string = 'XXXXXaXXbXXXc'; $string =~ s{ X (?(?{ $N and $N-- }) | (*FAIL)) }{Xy}xmsg; print $string; " XyXyXyXXaXXbXXXc