]> www.fi.muni.cz Git - aoc2020.git/blob - 36.pl
Day 18. Regexes!
[aoc2020.git] / 36.pl
1 #!/usr/bin/perl -w
2
3 use strict;
4
5 my $sum = 0;
6 while (<>) {
7         chomp;
8         1 while
9                 s/\((\d+)\)/$1/ ||
10                 s/(\([^\(\)]*?)(\d+)\s*\+\s*(\d+)([^\(\)]*\))/$1.($2+$3).$4/e ||
11                 s/(\([^\(\)]*?)(\d+)\s*\*\s*(\d+)([^\(\)]*\))/$1.($2*$3).$4/e ||
12                 s/(\d+)\s*([\+])\s*(\d+)/"$1$2$3"/ee ||
13                 s/(\d+)\s*([\*])\s*(\d+)/"$1$2$3"/ee;
14         $sum += $_;
15 }
16 print "sum=$sum\n";