aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAlexander Pankoff <ccntrq@screenri.de>2020-11-30 12:25:08 +0100
committerAlexander Pankoff <ccntrq@screenri.de>2020-11-30 12:25:10 +0100
commit53df15ab3d7abefb4305c6618a35089ef09327b6 (patch)
tree2204f3d2305414beb7e31654695f43697a1f18c2
parent2c27c301d3a490bcdd20a3f390b5da053cda8531 (diff)
downloadperlweeklychallenge-club-53df15ab3d7abefb4305c6618a35089ef09327b6.tar.gz
perlweeklychallenge-club-53df15ab3d7abefb4305c6618a35089ef09327b6.tar.bz2
perlweeklychallenge-club-53df15ab3d7abefb4305c6618a35089ef09327b6.zip
fix a bux where elements would occur twice in the output
-rw-r--r--challenge-088/alexander-pankoff/perl/ch-2.pl7
1 files 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 ) );