Generally the hash structure provides a more effective way to deal with the retrieved data.
I'm still learning the basic of PERL, but I've been using hashes
to deal the data retrieved from the database.
So it would be interesting to use hashes instead of arrays. I really don't know if in your case the use of arrays is mandatory.
but you could do, for example creating a hash like in:
my %rpt = ( ) ;
Then, building the hash with the information in the fields:
while (my @row = $sthNames->fetchrow_array ()) {
my $P = \%{$rpt{NAME}{$row[0]}};
$P->{PHONE1} = $row[1];
$P->{PHONE2} = $row[2];
}
And then, when going to use the information, just use the hash you created,
like this:
...
foreach my $name (keys %{$rpt{NAME}}) {
my $P = \%{$rpt{NAME}{$name}};
$html .= qq {
<TR>
<TD>$name</TD>
<TD>$p->{PHONE1}</TD>
<TD>$P->{PHONE2}</TD>
</TR>
};
}