32 lines
407 B
Perl
32 lines
407 B
Perl
#!/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;
|