while ($current_article =~ m/\[\[(.+?)\]\]/g) { my $tag_name = $1; print "Got $tag_name \n"; print "Checking if we have any contents AFTER it... \n"; print "RUNNING: \Q[[$tag_name]]\E(.*?)\[ \n"; if ($current_article =~ /\G(.*?)(?=\[)/gcs) { print "Got contents: $1\n"; } print "\n\n"; }