Kurt wrote: > > I'm working with a database interface (DBI) that returns information > by returning a reference ($Z) to an array of arrays. > > ... > > When I write $Z->[2][3] I get the expected -81.3439. > > Now the questions: > > If I want to iterate over each of these elements, to print out a line > at a time, how do I do it? > > Of course, I could do something like this: > > for (i=0;i<ARRAYSIZE;i++) { > for (j=0;j<SIZEOFINNERARRAY;j++) { > print "$Z[i][j]," "; > } > print "\n"; > } > > But this isn't very "Perl-like" and it leaves the question of how do > I know the ARRAYSIZE and SIZEOFINNERARRAY (which is known in this > case, but as a general case, may not be known)? > > I'd like to use something like a nested "foreach" loop... and the > code should evaluate the size of each innermost array - so for > example, if an inner array had size 4 instead of 7, it would be > detected (so I don't iterate over non-existent values). > foreach my $row (@$Z) { foreach my $col (@$row) { print $col,' '; # prints $Z->[i][j] } print "\n"; }
or quite some more perlish: print join (" ", @$_), "\n" foreach @$Z; Best Wishes, Andrea -- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]