Der er et par forbedringer, du kan foretage til denne kode.
- Anvend altid
use strict
oguse warnings
i din kode. Og ret de problemer, de afslører (for det meste ved at erklære variabler medmy
efter det ser ud). - Du har
use CGI /:standard/
som importerer en belastning af CGI's funktioner til dit navneområde, men så kalder du kun disse funktioner som metoder på dit CGI-objekt (i$q
), så import er unødvendig. - Du bruger indirekte objektnotation (
new CGI
) for at oprette dit CGI-objekt. Dette vil virke 99% af tiden, men i de sjældne tilfælde, hvor det går i stykker, vil du spilde dage på at spore problemet. Langt bedre at brugeCGI->new
i stedet. - HTML-oprettelsesfunktionerne i CGI.pm (du bruger
start_html()
) er blevet udfaset i nogen tid nu . Brug dem venligst ikke. - At have rå HTML i din Perl-kode er sandsynligvis et vedligeholdelsesproblem (som du ser ud til at have opdaget, givet fejlene i din HTML). Jeg anbefaler stærkt at flytte din HTML ud af din Perl-kode og ind i skabeloner. CGI::Alternatives har nogle forslag til måder at gøre dette på.