Поиск множественных совпадений
Для поиска множественных совпадений можно применить модификатор g и скалярный контекст. Например:
while ('12345' =~ /\d/g) { print "Найдена еще цифра: $&\n" }
Будет напечатано:
Найдена еще цифра: 1 Найдена еще цифра: 2 Найдена еще цифра: 3 Найдена еще цифра: 4 Найдена еще цифра: 5
Иногда для поиска множественных совпадений нужно искать следующее сразу от конца предыдущего совпадения, аналогично привязке к началу текста \A. Для этого есть специальный якорь \G, о котором мы поговорим позже.
Модификатор g и списковый контекст позволяет запомнить сразу все совпадения в тексте:
my @a='12345' =~ /\d/g; print join ',',@a;
Получаем
1,2,3,4,5