On 10/3/07, Mahurshi Akilla <[EMAIL PROTECTED]> wrote:

> is there an easy way (without iterating through the array) to get a
> specified column out of a 2d array?

There is no way in general, easy or hard, to get a column out of an
array in Perl without using iteration, even if the iteration is hidden
inside a map, foreach, or something similar. So, your answer is "no".

> i know you can get it with rows using ( $my2ndrowref = @array[1] ) but
> i don't want to transpose all my data right now for this.

I think you mean something like this:

  my @second_row = @{ $array[1] };
  print "Second row: @second_row\n";

But now you want a column, instead of a row. Well, if there actually
is a column there (we'll assume your data is rectangular), it's easy
to extract a copy with map:

  my @second_col = map $_->[1], @array;
  print "Second column: @second_col\n";

That's a copy, instead of the original data. If you want to modify it,
there's probably a better way to do that.

Does that do anything good for you? Good luck with it!

--Tom Phoenix
Stonehenge Perl Training

-- 
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]
http://learn.perl.org/


Reply via email to