Es gibt einige Verbesserungen, die Sie an diesem Code vornehmen können.
- Immer
use strict
verwenden unduse warnings
in deinem Code. Und beheben Sie die Probleme, die sie aufdecken (hauptsächlich Deklaration von Variablen mitmy
wie es aussieht). - Sie müssen
use CGI /:standard/
verwenden das eine Menge CGI-Funktionen in Ihren Namensraum importiert, aber dann rufen Sie diese Funktionen nur als Methoden für Ihr CGI-Objekt auf (in$q
), sodass kein Import erforderlich ist. - Sie verwenden die indirekte Objektnotation (
new CGI
), um Ihr CGI-Objekt zu erstellen. Dies wird in 99 % der Fälle funktionieren, aber in den seltenen Fällen, in denen es kaputt geht, werden Sie Tage damit verschwenden, das Problem zu finden. Viel besser ist es,CGI->new
zu verwenden stattdessen. - Die HTML-Erstellungsfunktionen in CGI.pm (Sie verwenden
start_html()
). ) wurden seit einiger Zeit veraltet . Bitte verwenden Sie sie nicht. - Roh-HTML in Ihrem Perl-Code zu haben, ist wahrscheinlich ein Wartungsproblem (wie Sie anscheinend festgestellt haben, angesichts der Fehler in Ihrem HTML). Ich empfehle dringend, Ihren HTML-Code aus Ihrem Perl-Code in Templates zu verschieben. CGI::Alternatives hat einige Vorschläge dazu.