6 my @m = map { chomp; [ split // ] } <>;
13 for my $dy (-1 .. 1) {
14 next if $y + $dy < 0 || $y + $dy > 99;
15 for my $dx (-1 .. 1) {
16 next if $x + $dx < 0 || $x + $dx > 99;
17 next if $dx == 0 && $dy == 0;
18 $sum++ if $m[$y+$dy][$x+$dx] eq '#';
21 if ($m[$y][$x] eq '#') {
22 $nm[$y][$x] = $sum == 2 || $sum == 3 ? '#' : '.';
24 $nm[$y][$x] = $sum == 3 ? '#' : '.';
33 $sum++ if $m[$y][$x] eq '#';