use warnings; use strict; my $t = <<'EOF';

aaa

aaa

axxxdsfosdaa

aaa

aaa22

22

22

aaa22

aaa22

aafsdfsdfa22

aaa33

aaa33

aaa33sdfsdfaom

aaa33

aaa33

aaa33

EOF if ($t =~ /
(.*?)<\/div>/sg) { for my $m ($1 =~ /

(.+?)<\/p>/g) { print $m, "\n" } }else { print 'match fail!', "\n" }