Обсуждение статьи тематического каталога: Регулярные выражения Perl замена n-го совпадения (perl regexp)Ссылка на текст статьи: http://www.opennet.ru/base/dev/perl_regexp_n.txt.html
А ещё есть функция pos, которая возвращает позицию последнего совпадения и переменные $` $& $', содержащие подстроки до, в и после совпадения соотвественно.