Prüfen, ob eine Variable Daten enthält!?
noName
- perl
Hallo,
wie kann ich in Perl überprüfen, ob eine Variable auch Inhalt besitzt?
Ich arbeite zuvor ein wenig mit split und speicher alles im Array und
da treten dann ein paar leer Array-Felder auf, die ich später gerne
ignorieren möchte!
Hallo,
foreach(@splitarray)
{
if(!$_) next;
do_something();
}
Gruß Markus
Hallo,
foreach(@splitarray)
{
next if(!$_);
do_something();
}
so ist's natürlich richtig...
Markus
foreach(@splitarray)
{
next if(!$_);
Besser: next unless $_;
Aber das ist nicht die Antwort auf die Frage, damit prüfst du, ob die Variabel ungleich undef, 0 oder kein Leerstring ist.
Vermutlich Richtiger ist:
next unless defined $_;
Struppi.
Hell-O!
Aber das ist nicht die Antwort auf die Frage, damit prüfst du, ob die Variabel ungleich undef, 0 oder kein Leerstring ist.
Doch, genau das war die Frage (siehe Ursprungsposting, zweiter Teil).
Vermutlich Richtiger ist:
next unless defined $_;
Nein, das hilft hier nicht weiter. Deine Abfrage wird stets wahr ergeben, denn defined testet ausschließlich auf den Rückgabewert 'undef' (siehe Perldoc: defined).
Siechfred
Aber das ist nicht die Antwort auf die Frage, damit prüfst du, ob die Variabel ungleich undef, 0 oder kein Leerstring ist.
Doch, genau das war die Frage (siehe Ursprungsposting, zweiter Teil).
Joh, falsch gelesen, bzw. nicht daran gedacht, das bei split keine undefinierten Werte rauskommen.
Aber die doppelte Prüfung "if !" kann er sich trotzdem sparen.
Struppi.
Hell-O!
wie kann ich in Perl überprüfen, ob eine Variable auch Inhalt besitzt?
Eine if-Abfrage im Booleschen Kontext sollte helfen (siehe mein Posting vom 25.10.2005).
Siechfred