... my ($casename, $count, $wordcount) = ('', 0, 0); $/ = ''; # paragraph mode open my $fh, '<', 'data.txt' or die "can't open, $!"; while( <$fh> ) { REPEAT: { # Play parser /\G^\d+\s+of\s+\d+\s+DOCUMENTS$/gc && do { redo; }; # enter action here /\G^No\.\s+(\w+)$/gc && do { $casename = $1; redo; }; } # simply count stuff $count += () = /EDUCATION/g; $wordcount += () = /\w+/g } close $fh; print "Case Name: $casename\n"; print "Education: $count\n"; print "Words: $wordcount\n"; ...