diff --git a/day03.pl b/day03.pl new file mode 100644 index 0000000..7c23b97 --- /dev/null +++ b/day03.pl @@ -0,0 +1,32 @@ +#!/usr/bin/env perl + +use strict; +use warnings; + +my $sum = 0; +my $enable = 1; + +## Part 1 +#while (<>) { +# while (/mul\((\d+),(\d+)\)/g) { +# $sum += $1 * $2; +# } +#} +#print $sum; + +## Part 2 +while (<>) { + while (/do\(\)|don't\(\)|mul\((\d+),(\d+)\)/g) { + if ($& eq 'do()') { + $enable = 1; + next; + } elsif ($& eq "don't()") { + $enable = 0; + next; + } + + $sum += $1 * $2 if ($enable); + } +} + +print $sum;