My apologies for "yet another multidimensional array question", but I'm getting tangled up....
I want to build a 3-d array (list) like this. I'm extracting variables out of a large csv file and grouping them by var_0. I want to end up with:
| var_0 = a | var_1 | var_2 | var_3 |
| var_1 | var_2 | var_3 | |
| var_1 | var_2 | var_3 |
| var_0 = b | var_1 | var_2 | var_3 |
| var_1 | var_2 | var_3 | |
| var_1 | var_2 | var_3 |
| var_0 = c | var_1 | var_2 | var_3 |
| var_1 | var_2 | var_3 | |
| var_1 | var_2 | var_3 |
But this - and my many variations - isn't working. Could someone point me in the right direction?open(FILE, $theFile) or die("cannot open file : $!"); while (<FILE>) { $line = <FILE>; @line_parts = split (/\|/, $line); $var_0 = $line_parts[1]; $var_1 = $line_parts[7]; $var_2 = $line_parts[8]; $var_3 = $line_parts[9]; @tmp = ($var_1, $var_2, $var_3); push @{$theTable[$var_0]}, [ @tmp ]; } close(FILE);
In reply to Building three-dimensional array using push by punch_card_don
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |