Irgendwo ist der Wurm drin und ich werd langsam Irre.
Dann gehe Schritt für Schritt vor:
1. Was steht im errorlog des Servers?
2. use strict;
3. Versieh Deine if-Abfragen mit einem else-Zweig:
if ($Daten{"NAME"}) {
$tNAME = $Daten{"NAME"};
$tNAME =~ m/^\((.*?)\.(.*)\.(.*)\)$/;
$TabNAME = $3;
print "\nTablename: ",$TabNAME,"\n";
}
else {
print 'Error: $Daten{NAME} is not defined';
}
So erkennst Du Fehler bereits hier und baust in Dein SQL-Statement keinen Müll ein.
4. Beachte den Gültigkeitsbereich von mit my deklarierten Variablen:
my $outer_var;
if(1) {
$outer_var = 666;
my $inner_var = 42;
}
print $outer_var; # 666
print $inner_var; # Scriptabbruch
Siehe hierzu auch Coping with scoping (deutsche Übersetzung)
5. Frage Fehler ab, wo immer es möglich ist und gib diese aus.
Lies hierzu: Dokumentation zu Win32::ODBC
Ohne dass Du Deinen Code vernünftig debuggst, wird das hier nur ein wildes Rumgerate.
Siechfred
--
Obacht, hinter jedem noch so kleinen Busch könnte ein Indianer sitzen!
Obacht, hinter jedem noch so kleinen Busch könnte ein Indianer sitzen!