in reply to Re^3: Saving sql results to an array all rows?
in thread Saving sql results to an array all rows?
The problem is that whenever I run the code I get the following shown below. I am guessing this is because I am using the array @all_rows which it doesn't know how to handle? I am saving the output/results from the SQL query to an array called @all_rows, now what I want to do is sort the data in column 2 in that array. What is the proper way to work/sort the data in the array @all_rows which contains all the sql results. Thanks again for the help..my @lines = read_file('/tmp/test.txt'); chomp(@lines); my $sql = q|select * from table_name where srcaddr = ? or dstaddr = ?| +; my $sth = $dbh->prepare($sql) or die "Can't prepare SQL statement: $DB +I::errstr\n"; foreach my $line (@lines) { $sth->execute($line, $line) or die "Can't execute SQL statemen +t: $DBI::errstr\n"; my @all_rows; while ( my $ref = $sth->fetchrow_arrayref()) { push(@all_rows, $ref); } my @sorted = map {$_->[0]} sort {$a->[1] <=> $b->[1] || $a->[2] <=> $b->[2] || $a->[3] <=> $b->[3] || $a->[4] <=> $b->[4]} map { [$_, split(/\./, (split /\s+/, $_)[1])]} @all_rows; print "$_\n" for @sorted; }
FYI if I print the @all_rows array using a foreach loop I get the proper resultsARRAY(0x96b0d80) ARRAY(0x96b0d80) ARRAY(0x96b0d80) ARRAY(0x96b0d80) ARRAY(0x96b0d80) ARRAY(0x96b0d80) ARRAY(0x96b0d80) ARRAY(0x96b0d80) ARRAY(0x96b0d80)
foreach my $row_ref (@all_rows) { print "@{$row_ref}\n"; }
|
|---|
| Replies are listed 'Best First'. | |
|---|---|
|
Re^5: Saving sql results to an array all rows?
by Krambambuli (Curate) on Aug 19, 2008 at 16:12 UTC | |
by learningperl01 (Beadle) on Aug 20, 2008 at 12:58 UTC | |
by Krambambuli (Curate) on Aug 20, 2008 at 13:07 UTC | |
by learningperl01 (Beadle) on Aug 20, 2008 at 16:41 UTC | |
by Cristoforo (Curate) on Aug 20, 2008 at 20:45 UTC | |
| |
by Krambambuli (Curate) on Aug 20, 2008 at 17:06 UTC |