From 53df15ab3d7abefb4305c6618a35089ef09327b6 Mon Sep 17 00:00:00 2001 From: Alexander Pankoff Date: Mon, 30 Nov 2020 12:25:08 +0100 Subject: fix a bux where elements would occur twice in the output --- challenge-088/alexander-pankoff/perl/ch-2.pl | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/challenge-088/alexander-pankoff/perl/ch-2.pl b/challenge-088/alexander-pankoff/perl/ch-2.pl index 0c856723c3..3f14285681 100644 --- a/challenge-088/alexander-pankoff/perl/ch-2.pl +++ b/challenge-088/alexander-pankoff/perl/ch-2.pl @@ -28,11 +28,10 @@ sub spriral_matrix($matrix) { ( $bot, @matrix ) = ( $matrix[-1], @matrix[ 0 ... ( $#matrix - 1 ) ] ); # get left and right side from the remaining rows - my @left_side = map { $_->[0] } @matrix; my @right_side = map { $_->[-1] } @matrix; - - # remove left and right side from the matrix - @matrix = map { [ @{$_}[ 1 ... ( $#$_ - 1 ) ] ] } @matrix; + @matrix = grep { @$_ } map { [ @{$_}[ 0 ... ( $#$_ - 1 ) ] ] } @matrix; + my @left_side = map { $_->[0] } @matrix; + @matrix = grep { @$_ } map { [ @{$_}[ 1 ... ( $#$_ ) ] ] } @matrix; return ( @$top, @right_side, reverse( @{ $bot // [] } ), reverse(@left_side), spriral_matrix( \@matrix ) ); -- cgit