Thread IF-Anweisung: Falcher boolean Wert wird bestimmt (8 answers)
Opened by sonnenschein at 2006-05-31 15:31

sonnenschein
 2006-05-31 15:31
#66829 #66829
User since
2006-05-31
2 Artikel
BenutzerIn
[default_avatar]
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

Code: (dl )
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
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!

View full thread IF-Anweisung: Falcher boolean Wert wird bestimmt