Is $var_0 something like 'a', 'b' or 'c' as shown in the example, or is it numerical. If it's not numerical, $theTable[$var_0] won't work too well, but $theTable{$var_0} would work great. In other words, an HoAoA might be what you want, rather than an AoAoA.
You forgot to chomp, so one of your parts has a trailing \n.
my %theTable; while (<DATA>) { chomp; my @line_parts = split /\|/; $var_0 = $line_parts[1]; push(@{$theTable{$var_0}}, [ @line_parts[7, 8, 9] ]); } require Data::Dumper; print(Data::Dumper::Dumper(\%theTable), $/); __DATA__ 0|a|2|3|4|5|6|var_1|var_2|var_3 0|a|2|3|4|5|6|var_1|var_2|var_3 0|a|2|3|4|5|6|var_1|var_2|var_3 0|b|2|3|4|5|6|var_1|var_2|var_3 0|b|2|3|4|5|6|var_1|var_2|var_3 0|b|2|3|4|5|6|var_1|var_2|var_3 0|c|2|3|4|5|6|var_1|var_2|var_3 0|c|2|3|4|5|6|var_1|var_2|var_3 0|c|2|3|4|5|6|var_1|var_2|var_3
In reply to Re: Building three-dimensional array using push
by ikegami
in thread Building three-dimensional array using push
by punch_card_don
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |