Hi,
wenn ein Perl programm bei eingeschaltetem warnings flag ($^W = 1) abfrägt, ob der wert einer variable gleich 0 ist (if $variable eq 0), die variable aber undefiniert ist, gibt es eine warning message ("Use of uninitialized value in string eq ..."). Natürlich will aber ein (womöglich vom wahnsinn getriebener) Perl programmierer seinen code 100 % use strict und -w kompatibel haben, also gilt es, eine lösung zu finden, die niemals zu warnings führt.
Daher frage ich immer vorher ab, ob der wert einer variable wahr ergibt, bevor weitere abfragen über den wert erfolgen, also
if ($variable && $variable eq 1) { print "$variable:\t$variable" }
Solche abfragen funktionierten aber nur, wenn der abgefragte wert ungleich null ist, also
if ($variable && $variable eq 0)
kann man vergessen. Gibt es nicht irgendwie die möglichkeit, abzufragen, ob eine variable definiert ist, anstatt abzufragen, ob sie wahr ergibt?
Danke für tipps!
rob.