все довольно просто:
if ( $str =~ /foobar.*foobar/ ) {
Конечно, ваш foobar может быть немного сложным, так что давайте использовать обратную ссылку:
if ( $str =~ /(foobar).*\1/ ) {
А что, если вы хотите, чтобы оно совпадало, только если это 5 раз подряд? Простой:
if ( $str =~ /(foobar)(.*\1){4}/ ) {
или лучше:
if ( $str =~ /(foobar)(?:.*\1){4}/ ) {
Подробнее о?: И других подобных магических строках вы можете прочитать perldoc perlre .