kantor: Über Perl-Script Daten in Mysql eingeben

Beitrag lesen

Hallo zusammen,

folgendes Problem bereitet mir Kopfschmerzen:
Ich habe ein Perl-Script geschrieben, was meiner Meinung nach fehlerfrei läuft, jedoch kommt in meiner Datenbank nichts von den im mysql-log stehenden UPDATE-Befehlen an. Woran kann das liegen?

Hier das Script:
__________________________________
#!/usr/bin/perl -w

use strict;
use DBI;
use CGI;
use CGI::Carp 'fatalsToBrowser';

print "Content-type:text/html\n\n";

my ($i, $x) = 0;
my (@termine, @zeile1, @zeilen) = "";
my ($z, $line, $termin, $dbh, $sth);
my ($datum1, $zeit1, $kirche, $ort, $titel, $text, $email);

open (DATEI, "< ../../ki-ver.htm") or die "Kann Datei ki-ver.htm nicht öffnen: $!\n";
while ($line=<DATEI>) {
 $x++;
 $line = "<b>$line</b>" if ($x==2);
 $termine[$i] = "$termine[$i] $line"; # Veranstaltungen in @ einlesen
 if ($line =~ /^\n/s) {
  $i++;
  $x = 0;
  next
 }
}
close DATEI;

$dbh = DBI->connect ("DBI:mysql:host=localhost;database=test", "", "", {PrintError => 1, RaiseError => 1});
                                                           #, "irgendwas", "irgendein Passwort", #

$i = 0;

foreach $termin(@termine) {
 @zeilen = split(/\n/, $termin);
 @zeile1 = split(/, /, $zeilen[0]);

$email = $zeile1[0] if($zeile1[0] =~ m/<*?>/);
 $email =~ s/>.*//g;
 $email =~ s/<///g;

print "email: $email, ";

$datum1 = substr($zeile1[1], 6, 4);
 $datum1 .="-";
 $datum1 .= substr($zeile1[1], 3, 2);
 $datum1 .="-";
 $datum1 .= substr($zeile1[1], 0, 2);
 print "datum1: $datum1, \n";

$zeit1 = substr($zeile1[2], 0, 2);
 $zeit1 .=":";
 $zeit1 .= substr($zeile1[2], 3, 2);
 print "zeit1: $zeit1<br>\n";

for ($x=3; $x<=@zeilen; $x++)
  {
  $zeilen[2] .= "$zeilen[$x]";
  }
 print "Inhalt: <b>$zeilen[1]</b><br>$zeilen[2]\n<br><br>";

$dbh->do("UPDATE veranstaltungen SET datum1='$datum1', zeit1='$zeit1', kirche='$zeile1[3]', ort='$zeile1[4]', datum2=NULL, zeit2=NULL, titel='$zeilen[1]', text='$zeilen[2]', email='$email' WHERE id='$i'");
 $i++;
}

$dbh->disconnect ();

exit(0)

__________________________

Schon im voraus Danke für Eure Hilfe
Regards
Axel