aoc2021

Advent of Code 2021 solutions in Perl.
git clone git://git.samirparikh.com/aoc2021
Log | Files | Refs | README

commit 3a494046ad22ec3cc42ea78637cf4fa58cfde020
parent 1a3a73f8b5f5020bb49dffa661aeea97fba3a4f5
Author: Samir Parikh <noreply@samirparikh.com>
Date:   Sat,  4 Dec 2021 18:30:26 +0000

add day04-1.pl

Diffstat:
Aday04-1.pl | 56++++++++++++++++++++++++++++++++++++++++++++++++++++++++
1 file changed, 56 insertions(+), 0 deletions(-)

diff --git a/day04-1.pl b/day04-1.pl @@ -0,0 +1,56 @@ +#!/usr/bin/env perl + +use strict; +use warnings; +use v5.22; +use Data::Dumper; +use JSON; +use Data::Printer; + +if (@ARGV !=1) { + die "Usage: $0 [input-filename]"; +} + +my $input_filename = $ARGV[0]; +open my $filehandle, '<', $input_filename or + die "Could not open input file $input_filename: $!"; + +chomp( my $numbers = ( <$filehandle> ) ); +chomp( my @input = ( <$filehandle> ) ); + +# Advent of Code 2021 Day 04 Part 1 + +my @numbers = split( ",", $numbers ); +#say foreach (@input); +my @boards; +my @new_board; +say @new_board; +foreach (@input) { + #say $_; + if (/\A\s*\Z/) { + push(@boards, [@new_board]) if (@new_board); + say "blank line here"; + @new_board = (); + } else { + say $_; + push(@new_board, [split]); + } +} +push(@boards, \@new_board); + +say $boards[1][1][1]; +#print Dumper (\@boards); +#print to_json( \@boards, {pretty => 1}); +p(@boards); + +my %state; +foreach my $board (@boards) { + foreach my $row (@$board) { + foreach my $column (@$row) { + #print "$column - "; + $state{$board}{$row}{$column} = 0; + } + } +} + +p(%state);