10 for my $field (split /\s+/) {
13 if $field =~ /\Abyr:(\d{4})\z/
14 && $1 >= 1920 && $1 <= 2002;
16 if $field =~ /\Aiyr:(\d{4})\z/
17 && $1 >= 2010 && $1 <= 2020;
19 if $field =~ /\Aeyr:(\d{4})\z/
20 && $1 >= 2020 && $1 <= 2030;
22 if $field =~ /\Ahgt:(\d+)(cm|in)\z/
23 && ($2 eq 'cm' && $1 >= 150 && $1 <= 193
24 || $2 eq 'in' && $1 >= 59 && $1 <= 76);
26 if $field =~ /\Ahcl:#[a-f0-9]{6}\z/;
28 if $field =~ /\Aecl:(?:amb|blu|brn|gry|grn|hzl|oth)\z/;
30 if $field =~ /\Apid:(?:\d{9})\z/;
33 $valid++ if $correct >= 7;
37 print "Valid: $valid\n";