diff options
Diffstat (limited to '2020/day2/pwcountcheck.pl')
| -rw-r--r-- | 2020/day2/pwcountcheck.pl | 22 | 
1 files changed, 22 insertions, 0 deletions
| diff --git a/2020/day2/pwcountcheck.pl b/2020/day2/pwcountcheck.pl new file mode 100644 index 0000000..636a5d0 --- /dev/null +++ b/2020/day2/pwcountcheck.pl | |||
| @@ -0,0 +1,22 @@ | |||
| 1 | use strict; | ||
| 2 | use warnings; | ||
| 3 | |||
| 4 | open my $fh, '<', "input" or die "no input present, $!"; | ||
| 5 | |||
| 6 | my $valid = 0; | ||
| 7 | |||
| 8 | while (my $line = <$fh>) { | ||
| 9 | chomp $line; | ||
| 10 | if ($line =~ m/(?'first'\d+)-(?'second'\d+) (?'char'\w): (?'rest'\w+)/) { | ||
| 11 | |||
| 12 | my $first = $+{first}; | ||
| 13 | my $second = $+{second}; | ||
| 14 | |||
| 15 | # https://www.effectiveperlprogramming.com/2010/12/count-the-number-of-things-in-a-string/ | ||
| 16 | my $count = () = $+{rest} =~ /$+{char}/g; | ||
| 17 | |||
| 18 | $valid++ if $count >= $first and $count <= $second; | ||
| 19 | } | ||
| 20 | } | ||
| 21 | |||
| 22 | print("$valid"); | ||
