while ($test =~ m%\Q[ref]\E(?:(?!\Q[/ref]\E).)*\Q[/ref]\E%gix) { print "FOO, $1, $2 and $3 \n"; }