commit 3a494046ad22ec3cc42ea78637cf4fa58cfde020
parent 1a3a73f8b5f5020bb49dffa661aeea97fba3a4f5
Author: Samir Parikh <noreply@samirparikh.com>
Date: Sat, 4 Dec 2021 18:30:26 +0000
add day04-1.pl
Diffstat:
A | day04-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);