#!/usr/bin/perl -w use strict; my %foo; while () { $foo{$1}++ if (/(\d+) is good/) } print "$_ :: $foo{$_} \n" foreach (keys %foo); __DATA__
1 is good
useless data
useless data
useless data
useless data

2 is not good
useless data
useless data
useless data
useless data

3 is good
useless data
useless data
useless data
useless data

4 is not good
useless data
useless data
useless data
useless data