Thread Perl und @*
(35 answers)
Opened by barney at 2023-11-09 09:47
Klar ist das kein sprechender Variablenname, hat auch niemand behauptet.
Klar steht @* nicht explizit in der perlvar, auch das hat niemand behauptet. In der perlvar steht Text zum Lesen drin, der ein Sonderverhalten zu Variablen mit Interpunktionszeichen beschreibt. Und @* ist durch dieses Sonderverhalten eine vollkommen gültige Variable, deren "überraschende Verwendung" keine Meldungen triggert. Im neuen Postfix-Dereferenzieren (seit 5.20) ->@* ist das @* keine Variable, sondern quasi Teil der Operator-Syntax. Bei einem Tippfehler wie -@* oder >@* (in msg #195466 bereits ausgeführt) wird das aber als Variable ausgewertet; auch wenn sie zuvor nicht definiert oder gefüllt worden ist. @* ist quasi einfach gültig. Auch wenn sie nicht in perlvar gelistet wird und auch wenn man sie vorher gar nicht deklariert oder befüllt oder anderweitig bewusst verwendet hat! Es geht mir/uns hier gar nicht um eine bewusste Verwendung von @*. Es geht um einen möglichen Tippfehler beim Postfix-Dereferenzieren, wodurch der Teil @* eben als gültige Variable ausgewertet wird und nicht mehr Bestandteil des Operators ist! meine Beiträge: I.d.R. alle Angaben ohne Gewähr und auf Linux abgestimmt!
Die Sprache heisst Perl, nicht PERL. - Bitte Crossposts als solche kenntlich machen! |