Beefy Boxes and Bandwidth Generously Provided by pair Networks
Do you know where your variables are?

Re^2: How to swap rows with columns?

by snopal (Pilgrim)
on Oct 09, 2007 at 21:38 UTC ( #643806=note: print w/replies, xml ) Need Help??

in reply to Re: How to swap rows with columns?
in thread How to swap rows with columns?

Isn't this so much easier to understand?

#!/usr/bin/perl use warnings; use strict; my @in = ([1,2,3,4,'a','b','c'], ['z','y','x','w',9,8,7], ['e','f','g','h',5,4,6], ); my @out; for my $y (0..(@in-1)) { for my $x (0..(@{$in[$y]}-1)) { $out[$x][$y] = $in[$y][$x]; } }

No need to be a Perl geek to do this right! And think of the ease of maintenance!

Replies are listed 'Best First'.
Re^3: How to swap rows with columns?
by johngg (Canon) on Oct 09, 2007 at 22:11 UTC
    for my $y (0..(@in-1)) { for my $x (0..(@{$in[$y]}-1)) {

    I'm puzzled as to why you do the subtractions to find the upper bound of the arrays rather than use the $#array that Perl provides.

    for my $y ( 0 .. $#in ) { for my $x ( 0 .. $#{$in[$y]} ) {



      My original did, but the second loop definition was looking like line noise and I was demonstrating the practice to a novice. So I opted for the more verbose, and less obtuse example.

Log In?

What's my password?
Create A New User
Domain Nodelet?
Node Status?
node history
Node Type: note [id://643806]
and the web crawler heard nothing...

How do I use this? | Other CB clients
Other Users?
Others chilling in the Monastery: (2)
As of 2023-05-31 23:40 GMT
Find Nodes?
    Voting Booth?

    No recent polls found