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.

  • Mii@awful.systems
    link
    fedilink
    English
    arrow-up
    1
    ·
    7 days 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";