use strict;
my $str = "
desc
aaaaaaaaa
notExpected.jpg
head
aaaaaaaaaaaa
notExpected.jpg
aa
correctImage.jpg ";
while ($str =~ m/(.*?)<\/image>/gs)
{
my ($image_content) = ($1);
my $story_st=0;
my $story_en=0;
my $prelines = $`;
while ($prelines =~ m//gs){$story_st++}
while ($prelines =~ m/<\/story>/gs){$story_en++}
print $image_content, "\n" if ($story_st == $story_en);
}