in reply to Re^2: Is this bad coding style?
in thread Is this bad coding style?
givesuse strict; use warnings; use Data::Dumper; my @broken_up; my @array = qw( 1 2 3 # 4 5 # 6 7 8 9 # 10); my $position = 0; $broken_up[0] = []; foreach my $item (@array) { if ($item eq '#') { $position++; $broken_up[$position] = []; } else { push @{ $broken_up[$position] }, $item; } } print Dumper(\@broken_up);
Now you have an array of arrays, broken at the '#'s. (The extra level of nesting is because I dumped a reference to the output array.)$VAR1 = [ [ '1', '2', '3' ], [ '4', '5' ], [ '6', '7', '8', '9' ], [ '10' ] ];
If you just want to throw the '#'s out:
gives@array = qw( 1 2 # 3 4 5 # 6 7 8 9 # 10); @array = grep { $_ ne '#' } @array; print "@array\n";
Notice that these are wildly different, because we don't know what you're actually trying to do. Obviously it doesn't matter whether or not the style is good ... if the result is wrong. :)1 2 3 4 5 6 7 8 9 10
|
|---|