Hi,
Auch hier mit '($query->... || 0)' einen Defaultwert zuweisen, sonst meckert strict (welches Du aus genau diesem Grund verwenden solltest).
Tja, strict meckert da eigentlich nicht, aber was soll's.
vermutlich, weil Du das Script nie ohne einen sinnvollen Wert im richtigen Parameter aufgerufen hast ;-)
"$#array" meinst Du eigentlich gar nicht; [...]
Tja, aus dem Kontext heraus
_Hier_ hast Du vielleicht immer den richtigen Kontext. In einem anderen Script wurde dann aber $[ verbogen - und dann sitzt Du an dem Fehler und suchst Dich zu Tode.
Gewöhn es Dir lieber gleich richtig an. $#array kann man nicht ohne $[ gemeinsam verwenden.
[...] wenn man nur weiß, was es bedeutet.
Und hier liegt das Problem. _Du_ weißt, wie Dein Script funktioniert. Der nächste weiß es nicht.
Also, wo jetzt der Logik-Fehler liegt, hab ich vor lauter Stil- und Syntax-Fehlern leider nicht gesehen ;-)
Stilfragen zu diskutieren ist ziemlich müßig,
Richtig. Ich weise ihn auch nur darauf hin, wo er stilistisch arbeiten sollte - die eigentlichen Fehler des Scripts sind aber nicht stilistischer Natur.
da sogar das von Dir so gern zitierte perlstyle eigentlich nur Empfehlungen und keine Vorschriften enthält.
Selbstverständlich, ohne Frage. Diese Empfehlungen tragen aber auch die Bezeichnung "Konsens", und zudem sind sie nicht ohne Grund gegeben worden. Jede Empfehlung hat ihren Sinn.
aber was hälst Du von etwas in dieser Richtung:
[...]
und sicherlich genial, aber ich denke doch, daß selbst Du in zwei Wochen beim Anblick dieses Ungetüms kurz innehältst und Dir denkst "Was hat er damit wohl sagen wollen?"
Nein, eigentlich nicht. Wenn Du noch mal drauf schaust wirst Du feststellen, dass es zwar ein komplexes Konstrukt ist, aber in sich sehr einheitlich und logisch. Natürlich kannst Du z.B. durch Zuweisung von "$query->param('Index') || 0)" (oder einer anderen wiederholten Prüfung) zu einer Variablen sowohl optischen Platz als auch (geringfügig) Rechenzeit sparen; ich wollte hier aber eigentlich auch zeigen, dass man sich als (insbesondere Perl-)Programmierer nicht vor solchen Konstrukten fürchten darf - die übrigens bei vernünftiger Strukturierung[1] leichter lesbar sind, als eine Reihe einzelner Befehle.
[1] Siehe dazu übrigens auch perldoc perlstyle ;-)
Wobei ich ehrlich gesagt vorziehen würde, nicht die komplette Datei einzulesen, sondern etwa wie folgt vorzugehen:
Ich auch.
Danke :-)
Jetzt lehn Dich zurück und sieh Dir Zeile für Zeile des ganzen Scripts nochmals an, und versuche festzustellen, was jede einzelene Anweisung wirklich macht.
Die bei den Perl-Distributionen und Moduln beigepackte Dokumentation oder auch ein gutes Buch über Perl hilft Dir da sicherlich auch weiter.
Jo. Das sollte man sich ausdrucken, über den Monitor hängen und durchlesen, wenn man mal wieder nicht weiter weiß.
Cheatah