> -----Original Message-----
> From: loan tran [mailto:[EMAIL PROTECTED]]
> Sent: Tuesday, September 24, 2002 11:20 AM
> To: [EMAIL PROTECTED]
> Subject: can my code be shortened?
> 
> 
> Hi,
> I codes in the while loop is too long. Can it be
> written in different way?
> Thanks.
> 
> sub display_helpdb{
>   my $server = $_[0];
>   my @results;
>   &sybase_connect("$server","master","sp_helpdb");
>   $dbh->dbsqlexec;
>   $dbh->dbresults;
>   @tbl_header = ("DB Name", "DB Size", "Owner",
> "DBID", "Create Date", "Status");
>   print "<table border=1><tr>";
>   # contruct tbl colum header
>   map{print '<th>',$_,"</th>\n"}@tbl_header  ; 
>   print "</tr>\n";
>   while(@results = $dbh->dbnextrow){
>       print "<tr>
>              <td> $results[0] </td> 
>              <td>$results[1]</td> 
>              <td>$results[2]</td> 
>              <td>$results[3]</td> 
>              <td>$results[4]</td>
>              <td>$results[5]</td>
>             </tr>";
> #is there a way to shortened the print statement above
> #I'v tried this :
> #  map{print "\n<tr><td>",$_[0..5],"</td></tr>\n"} @a;
> # but it does not work right.
> 
>  }
>   print "</table>";
> }#end sub

print '<tr>', map { "<td>$_</td>" } @results, '</tr>';

(You might want to encode HTML entities inside @results. See HTML::Entities)

Another approach is to use the CGI module:

print $q->Tr($q->td(\@results));

-- 
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to