in reply to Re^3: Using arrays as elements in hash
in thread Using arrays as elements in hash

Ok, here's what I got so far.

foreach my $Temp (@IsNew){ my %param_2 = ( 'Flag'=>$Temp, #<-- TEST ); foreach my $product (@Products) { my %param = ( 'Code'=>$product, } push(@loop_data_1, \%param); } $loop_data_3{$counter} = @loop_data_1; $param_2{'ProductList'} = \$loop_data_3{$counter}; push(@loop_data_2, \%param_2); @loop_data_1 = (); } $tmpl->param('NumOfProductLists'=>\@loop_data_2);

@loop_data_1 contains the data for the inner loop
@loop_data_2 countain the data for the superior loop (inside it should be arbitray number of different @loop_data_1 arrays). Basically i want to dinamicly add drop down boxes with different \<selected\> elements. That's why I think I need a different @loop_data_1 for each @loop_data_2.

This is where I thought of using or an array of arrays or a hash of arrays...

Replies are listed 'Best First'.
Re^5: Using arrays as elements in hash
by Gangabass (Vicar) on Nov 01, 2007 at 03:22 UTC

    I'm think this is wrong (it's looks very strange for me):

    $loop_data_3{$counter} = @loop_data_1; $param_2{'ProductList'} = \$loop_data_3{$counter};

    Maybe you want:

    $loop_data_3{$counter} = \@loop_data_1; $param_2{'ProductList'} = $loop_data_3{$counter};
      Nope, that's the first thing I tryed. What that does is give every hash element a reference to @loop_data_1, whitch means that all the <TMPL_LOOP>'s will use a reference to the same array

      $loop_data_3{1} = \@loop_data_1;
      $loop_data_3{2} = \@loop_data_1; (same data, not what I need)