]> www.fi.muni.cz Git - aoc.git/blob - 2023/02.pl
2023 day 1 part 2: prettier solution
[aoc.git] / 2023 / 02.pl
1 #!/usr/bin/perl -w
2
3 use v5.38;
4 use strict;
5 use experimental 'multidimensional', 'for_list', 'builtin';
6 use builtin 'indexed';
7
8 my $sum;
9 my @digits = qw(zero one two three four five six seven eight nine);
10 my %map = reverse indexed @digits;
11 my $re = join('|', '\d', @digits);
12
13 while (<>) {
14         my ($first) = /($re)/;
15         my ($last)  = /.*($re)/;
16         for ($first, $last) {
17                 $_ = $map{$_} if !/\d/;
18         }
19         $sum += "$first$last";
20         # say "$_ $first $last.";
21 }
22
23 say $sum;