my %totals; while ( ) { chomp; if ( /(^[a-z].*$)/i ) { $totals{$1} = 0 unless $totals{$1}; } else { $totals{$1} += $_; } } print "$_: $totals{$_}\n" for keys %totals; __DATA__ player1 11 22 11 player2 10 21 player1 22 #### player1: 66 player2: 31 #### while ( ) { if ( /^([A-Z]+)$/ ) { print "In if: $1\n"; } else { print "In else: $1\n"; } } __DATA__ FOO 1234 xyz BAR dfgdfg #### In if: FOO In else: FOO In else: FOO In if: BAR In else: BAR #### __DATA__ FOO 1234 Xyz BAR DFGdfg #### In if: FOO In else: FOO In else: F In if: BAR In else: B