]> www.fi.muni.cz Git - aoc2020.git/blobdiff - 36.pl
Day 18. Regexes!
[aoc2020.git] / 36.pl
diff --git a/36.pl b/36.pl
new file mode 100755 (executable)
index 0000000..68eb4f9
--- /dev/null
+++ b/36.pl
@@ -0,0 +1,16 @@
+#!/usr/bin/perl -w
+
+use strict;
+
+my $sum = 0;
+while (<>) {
+       chomp;
+       1 while
+               s/\((\d+)\)/$1/ ||
+               s/(\([^\(\)]*?)(\d+)\s*\+\s*(\d+)([^\(\)]*\))/$1.($2+$3).$4/e ||
+               s/(\([^\(\)]*?)(\d+)\s*\*\s*(\d+)([^\(\)]*\))/$1.($2*$3).$4/e ||
+               s/(\d+)\s*([\+])\s*(\d+)/"$1$2$3"/ee ||
+               s/(\d+)\s*([\*])\s*(\d+)/"$1$2$3"/ee;
+       $sum += $_;
+}
+print "sum=$sum\n";