#!/usr/bin/perl my %target = ( red => 12, green => 13, blue => 14 ); my $res = 0; GAME: while(<>) { chomp; my ($id, $rest) = /Game (\d+): (.*)/ or die "Bad line: $_"; while ($rest =~ /(\d+) ([a-z]+)/g) { next GAME if $1 > $target{$2}; } $res += $id; } print $res;