#!/usr/local/bin/perl # day 2015-07 use strict; use warnings; use v5.32; use lib '.'; use Day07 qw< evaluate >; @ARGV = "input" unless @ARGV; chomp( my $input = do { local $/; <> } ); my %circuit; my @instructions = split /\n/, $input; foreach ( @instructions ) { /(.*) -> (.*)/; # first match is $1; second match is $2 $circuit{ $2 } = $1; } my $signal = evaluate( \%circuit, 'a' ); say "part 1: ", $signal;