Thread verwirrende aussagen auf perldoc.perl.org: bezogen auf defined
(4 answers)
Opened by legine at 2006-06-30 18:16
Willkommen @Legine!
Ja, ich habe verstanden, worum es in der Perldoc geht. Ich bin mir nicht ganz sicher, was Du mißverstanden hast, aber es geht so: Das "Nichts", welches im Pattern Match gefunden wird, ist ein definiertes nichts. Mit defined() wirst Du es also nicht als Falsch erkennen. Das bedeutet, wie es in der Einleitung schon heißt, daß Du mit defined() auf dem falschen Dampfer bist. Du kannst aber einen Leeren String immer noch mit einem anderen Leeren String vergleichen, ebenso wie die Zahl Null mit der Zahl null. Beispiel: Code: (dl
)
defined $1 and $1 ne "" edit: noch besser ersetzt Du das .* vielleicht durch ein .+ - welches dann mindestens ein Zeichen matchen muß. Natürlich nur, wenn das für Deine Aufgabe in Frage kommt. edit2: "Warum der Aufstand um das defined()? An dieser Stelle vermutlich, weil der Perldoc-Autor dieses Fettnäpfchen entweder öfters beobachtet hat, oder selber viel Zeit damit verbrachte, nehme ich mal an. defined() an sich ist vielerorts sehr hilfreich, wenn man es erst als Werkzeug schätzen gelernt hat, sollte man dann auch die Grenzen beachten.\n\n <!--EDIT|Relais|1151688290--> Erst denken, dann posten --
27. Deutscher Perl- u. Raku -Workshop 12. bis 14. Mai 2025 in München. Winter is Coming |