Beefy Boxes and Bandwidth Generously Provided by pair Networks
The stupid question is the question not asked
 
PerlMonks  

Seperating Compound Lists

by dReKurCe (Scribe)
on Feb 11, 2005 at 01:41 UTC ( [id://429963]=perlquestion: print w/replies, xml ) Need Help??

dReKurCe has asked for the wisdom of the Perl Monks concerning the following question:

Greetings Monks: My question is in regards to the following code:

for $x(1...3){ for$y(1...3){ $pro=$x ** $y; push @products, $pro; } }
Specifically, what methodology is used to read each succesive set into it's own array?

I managed to sort this out without the use of modules by using splice. Thanks for the help

#! /usr/bin/perl for $x(1...8){ for (1...8){ $y=$x*$_; push @products,$y; } print "\n"; @pro=splice (@products,0,8); print "@pro\n"; }

Replies are listed 'Best First'.
Re: Seperating Compound Lists
by edoc (Chaplain) on Feb 11, 2005 at 02:12 UTC
    my @sets; for $x(1..3){ my @products; for $y(1..3){ $pro = $x ** $y; push @products, $pro; } push @sets, \@products; } use Data::Dumper; print Data::Dumper->Dumper(\@sets);

    cheers,

    J

      And most of the time, a for/push combination converts very naturally to a map:
      my @sets; for my $x (1..3){ my @products = map { $x ** $_ } (1..3); push @sets, \@products; } use Data::Dumper; print Dumper(\@sets);
      Then we still have a for/push. Since we have to use $_ for our loop variable in map, it might seem a little tricky, but we're nesting these, so we can do this:
      my @sets = map { my $x = $_; # Copy outer loop variable my @products = map { $x ** $_ } (1..3); \@products; } (1..3);
      Of course, there's no real need for the @products array:
      my @sets = map { my $x = $_; # Copy outer loop variable [map { $x ** $_ } (1..3)]; } (1..3);

      Caution: Contents may have been coded under pressure.
Re: Separating Compound Lists
by Roy Johnson (Monsignor) on Feb 11, 2005 at 02:07 UTC
    I think you're looking for: perldoc perlreftut

    Caution: Contents may have been coded under pressure.

Log In?
Username:
Password:

What's my password?
Create A New User
Domain Nodelet?
Node Status?
node history
Node Type: perlquestion [id://429963]
Approved by Tanktalus
help
Chatterbox?
and the web crawler heard nothing...

How do I use this?Last hourOther CB clients
Other Users?
Others making s'mores by the fire in the courtyard of the Monastery: (3)
As of 2024-04-26 02:38 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    No recent polls found