Frank Schönmann: Premature end of script headers

Beitrag lesen

hi!

Bist du sicher, daß du

use CGI qw (:standard);
wirklich brauchst, oder hätte nicht
  use CGI;
ausgereicht?

Das ist kein Bug, sondern ein Feature. perldoc CGI.

my $CGI;
brauchst du nicht, weil du gleich darunter
$CGI = new CGI();
stehen hast. Besser wäre vielleicht:
my $CGI = new CGI();

Beides bewirkt das gleiche. Also ist nichts davon objektiv besser.

Aber das sind alles nur Kleinigkeiten, die wenig Bedeutung haben.
Problematisch wird es, wenn du versucht, Probleme zu erkennen, wo
keine sind:

if($CGI->param("anzeige")){
anzeige($CGI, $DBH, $STH);
}
notierst. Zu diesem Zeitpunkt gibt es nämlich deine Subroutine
"anzeige()" noch nicht. Schreibe also _erst_deine Subroutinen, und
füge den Aufruf mit der if/else-Bedingung ganz unten an.

Denn offensichtlich hast du mal wieder keine Ahnung, wovon du redest:

A subroutine may be called using an explicit "&" prefix.
       The "&" is optional in modern Perl, as are parentheses if
       the subroutine has been predeclared.

Die Klammern sind also optional, wenn die Funktion vorher deklariert
wurde. Das bedeutet andersherum, dass man die Funktion auch später
deklarieren kann, solange man Klammern setzt.

bye, Frank!

--
Never argue with an idiot. He will lower you to his level and then
beat you with experience.