Hallo,
Was passiert denn eigentlich, wenn Du das Perlscript von der Command-Shell aus startest?
Es kann eventuell notwendig sein, daß Du das Script nur auf den kritischen Teil zusammenkürzen mußt, um das CGI-Umfeld einmal auszuklammern.
Funktioniert die Datenbankanbindung, dh. funktioniert der ODBC-Connect, dann die Abfrage und letztendlich das auslesen?
Du hast gemeint, die Datenbank sei defekt. Wie sieht es aus, wenn Du Dir wirklich einmal die Original von der CD runter kopierst?
Gerade wenn Du mod_perl installiert hast, und auch wenn Du eine recht alte Version der Komponenten verwendest, kann es vorkommen, daß ein Fehler im ODBC-Treiber für Access, den eine kaputte Datenbank auslöst, dort nicht abgefangen wird.
Dadurch wird auch das Perl-Interface Win32::ODBC, das imho auch nicht gerade aktuell sein kann, da es schon einige Zeit nicht mehr weiterentwickelt wird, ins Schleudern kommen, was zur Folge hat, das das Script 'abschmiert'.
Nun könnte mod_perl auch beleidigt darauf reagieren, was zur Folge hat, daß der Apacheprozeß den Geist aufgibt.
Du siehst hier zumindest, daß viele Komponenten im Spiel sind, die von einander abhängig sind und sich gegenseitig beeinflussen.
Bei solchen Fehler solltest Du wirklich systematisch vorgehen und möglichst wenige Komponenten beim Fehlersuchen mit im Spiel haben. Daher nochmals: reduziere das Script auf das notwendige und erweitere es so lange, bis Du die Fehlerquelle gefunden hast.
BTW: nimm DBI und DBD::ODBC anstelle von Win32::ODBC. Es ist einfach die bessere Variante.
Grüße
Klaus