Wie kann ich ermitteln, ob ein Perl-hash enthält eine Schlüssel-mapping-einen undefinierten Wert?
Muss ich feststellen, wenn ein Perl-hash hat einen bestimmten Schlüssel, aber Schlüssel zugeordnet werden undef Wert. Insbesondere die motivation für diese ist zu sehen wenn boolean-flags während der Verwendung getopt()
mit einer hash-Referenz an Sie übergeben. Ich habe schon gesucht, sowohl diese Website und google, und exists()
und defined()
scheinen nicht anwendbar zu sein für die situation, sondern Sie sehen nur zu, wenn der Wert für einen bestimmten Schlüssel nicht definiert ist, wird Sie nicht überprüfen, wenn die hash-Funktion hat eigentlich die Taste. Wenn ich ein RTFM hier, bitte zeigen Sie mir das Handbuch erklärt, dass das.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Falsch. Das ist in der Tat was
defined()
tut, aberexists()
genau das tut, was Sie wollen:produziert:
Die Dokumentation für diese beiden Funktionen ist verfügbar auf der Befehl-Linie an
perldoc -f defined
undperldoc -f exists
(oder Lesen Sie die Dokumentation für alle Methoden, beiperldoc perlfunc
*). Die offizielle web-Dokumentation ist hier:*, Da Sie speziell erwähnt RTFM und Sie möglicherweise nicht bewusst sein, die Standorte der Perl-Dokumentation, lassen Sie mich auch darauf hinweisen, dass Sie können erhalten Sie einen vollständigen index aller perldocs bei
perldoc perl
oder bei http://perldoc.perl.org.Wenn ich lese Ihre Frage richtig, ich denke, dass Sie verwirrt sind,existiert. Aus der Dokumentation:
Beispiel:
Kurze Antwort: