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"); | ||