Ich hab ein weiteres Script, aber auf die gleiche Tabelle mit den Regeln angepasst:

Code:
#!/usr/bin/perl -w
use CGI qw(param);
use DBI;
use DBD::DB2::Constants;
use DBD::DB2;

# Ein Perl-Test f}r die "Info - HTML"
# $ich = param("wer");

# Test der DB Anbindung mit Perl auf AS/400
  $dbh = DBI->connect("DBI:DB2:*LOCAL", "XXX", "XXX") or die "Ein Fehler: ".$dbh->err;
  $sql = "select * from LIBRKML.TABELLE";
  $sth = $dbh->prepare($sql) or die "Fehler: ".$sth->err;
  $sth->execute() or die "Fehler bei Ausf}hrung: ".$sth->err;

print <<ENDE_HEAD;
Content-type: text/html

<html>
<head><title>Datenbanktest</title></head>
<body>
<table border='1'>
<tr><th>Name</th> <th>Vorname</th></tr>
ENDE_HEAD


while(my ($spalte1, $spalte2, $spalte3) = $sth->fetchrow_array())
{
 print "<tr><td>".$spalte1."</td>\n";
 print "<td>".$spalte2."</td>\n";
 print "<td>".$spalte3."</td></tr>\n";
}

print "</table>\n";
print "</body>\n";
print "</html>";
und es dennoch gleich im QSH auf der Maschine ausführen lassen, mit dem gleichbleibenden Ergebnis:

Code:
perl -w /web/db2.pl                                                                         
Subroutine bootstrap redefined at /usr/local/lib/perl5/5.00502/os400/DynaLoader.pm line 97. 
Content-type: text/html                                                                     
                                                                                            
<html>                                                                                      
<head><title>Datenbanktest</title></head>                                                   
<body>                                                                                      
<table border='1'>                                                                          
<tr><th>Name</th> <th>Vorname</th></tr>                                                     
<tr><td>1</td>                                                                              
Use of uninitialized value at /web/db2.pl line 30.                                          
<td></td>                                                                                   
Use of uninitialized value at /web/db2.pl line 31.                                          
<td></td></tr>                                                                              
</table>                                                                                    
</body>                                                                                     
</html>$
Und so sieht die Tabelle aus (ja, ich hab auch CCSID 65535 und 500 schon probiert):

Code:
            Daten        Feld  Puffer    Puffer        Feld     Spalte           
 Feld       Art         Länge   Länge  Position        Verwend. Überschrift      
 LFDN       GEPACK       3  0       2         1        Beide    LFDN             
   Nullwert zugelassen                                                           
 NAME       ZCHN           20      20         3        Beide    NAME             
   Nullwert zugelassen                                                           
   ID des codierten Zeichensatzes  . . . . . :     37                            
 VNAME      ZCHN           20      22        23        Beide    VNAME            
   Feld variabler Länge  -- Zugeordnete Länge:  Keine                            
   Nullwert zugelassen                                                           
   ID des codierten Zeichensatzes  . . . . . :     37