Hallo, ich bin noch Neuling in der Sprache Perl.
In meinem Perl Skript habe ich eine Datenbankabfrage. Das Ergebnis der Abfrage speichere ich in der Variablen @row.
Bei der Ausgabe der Variablen sehe ich, das sie den Wert 0 hat. Bei einer anderen Datenbankabfrage hat sie z.B. den Wert 5.
Die If-Anweisung, welche auf 0 prüft sagt false und gibt den Wert 0 aus?! Was mache ich falsch?
Ausgabe aus IF-Anweisung: False: 0
my $dbh = DBI->connect( $conn,$user,$pass) || die "Keine Verbindung zur Datenbank";
my $sql = "SELECT count(netzgebiet) FROM tmp_report";
my $sth = $dbh->prepare($sql);
$sth->execute();
@row = $sth->fetchrow_array;
if(@row == 0 ){
print TRANSLATE "\nTrue: ";
print TRANSLATE @row;
}
else {
print TRANSLATE "\nFalse: ";
print TRANSLATE @row;
}
Ich habe schon alles mögliche ausprobiert (Try und Error) wie z.B.
@row = 0 liefert mit beiden Beispielen true
@row > 1 liefert mit beiden Beispielen false
@row eq '0' liefert mit beiden Beispielen false
@row = -1 liefert mit beiden Beispielen true
Vielen Dank schonmal für eure Hilfe!