Thread Variable in Sub-Routine unbekannt (20 answers)
Opened by tecker at 2008-05-07 16:19

FIFO
 2008-05-09 18:40
#109493 #109493
User since
2005-06-01
469 Artikel
BenutzerIn

user image
tecker+2008-05-09 10:53:19--

Die Überprüfung wollte ich mit
Code: (dl )
if (not defined $s_a || $s_a eq ''){$s_a = 0;}
machen, klappt aber nicht immer, da er glaube kein eq Vergleich machen kann FALLS der Wert undef ist, oder??


Code (perl): (dl )
1
2
3
4
5
$s_a = $s_a || 0;

# ODER:

$s_a = $s_a ? $s_a : 0;


sollte gehen, da undef hier wie auch der Leerstring zu 'falsch' evaluiert.

Nachtrag: Dein Konstrukt dürfte Probleme machen, weil 'defined' sich auf den folgenden Ausdruck bezieht, also $s_a || $s_a eq ''. Dieser Ausdruck ist aber immer defined, auch wenn er 'falsch' ist.
Everyone knows that debugging is twice as hard as writing a program in the first place. So if you're as clever as you can be when you write it, how will you ever debug it? -- Brian Kernighan: "The Elements of Programming Style"

View full thread Variable in Sub-Routine unbekannt