in reply to Search for Second Occurence of Substing and get containing text

There are some very clever ways to do this, but simple is probably easiest: why not just include the string ===Comments=== in your regular expression twice?

if(Dumper($page) =~ /===Comments===(.*?)=Microarray Data=/s.*?===Comme +nts===(.*)) { $lit_comments = $1; $second_comments = $2; }

See perlretut for some reference material.