adventofcode/2020/02/part2.pl
2021-12-05 11:51:21 -05:00

21 lines
393 B
Perl

use 5.20.0;
use warnings;
use Path::Tiny;
use experimental qw/
signatures
postderef
/;
my @lines = path(shift)->lines;
print scalar grep { is_valid($_) } @lines;
sub is_valid($line) {
$line =~ /(?<min>\d+)-(?<max>\d+) (?<letter>\w): (?<password>\w+)/;
return 1 == grep { $_ eq $+{letter} }
(split '', $+{password})[ map { $_ -1 } @+{'min','max'} ];
}