this post was submitted on 02 Dec 2024
14 points (100.0% liked)

NotAwfulTech

386 readers
4 users here now

a community for posting cool tech news you don’t want to sneer at

non-awfulness of tech is not required or else we wouldn’t have any posts

founded 1 year ago
MODERATORS
 

copy pasting the rules from last year's thread:

Rules: no spoilers.

The other rules are made up aswe go along.

Share code by link to a forge, home page, pastebin (Eric Wastl has one here) or code section in a comment.

you are viewing a single comment's thread
view the rest of the comments
[–] [email protected] 1 points 2 weeks ago

Yay, day 3 with Regexp magic.

Day 3

open(FH, '<', $ARGV[0]) or die $!;
my $sum = 0;
my $sum2 = 0;

my $enabled = 1;

while (<FH>) {
    while ($_ =~ /(?:mul\((\d{1,3}),(\d{1,3})\)|(do)\(\)|(don\'t)\(\))/g) {
        $enabled = 1 if $3;
        $enabled = 0 if $4;
        $sum += $1 * $2 if $1 && $2;
        $sum2 += $1 * $2 if $enabled && $1 && $2;
    }
}

close(FH);

print "Part 1: $sum\n";
print "Part 2: $sum2\n";