Er zijn een paar verbeteringen die u aan deze code kunt aanbrengen.
- Altijd
use strict
enuse warnings
in uw code. En los de problemen op die ze aan het licht brengen (meestal variabelen declareren metmy
zo te zien). - Je hebt
use CGI /:standard/
die een lading CGI-functies in uw naamruimte importeert, maar dan roept u die functies alleen aan als methoden op uw CGI-object (in$q
) zodat importeren niet nodig is. - U gebruikt indirecte objectnotatie (
new CGI
) om uw CGI-object te maken. Dit werkt 99% van de tijd, maar in de zeldzame gevallen dat het kapot gaat, verspil je dagen aan het opsporen van het probleem. Veel beter omCGI->new
te gebruiken in plaats daarvan. - De HTML-aanmaakfuncties in CGI.pm (u gebruikt
start_html()
) zijn al een tijdje verouderd . Gebruik ze alsjeblieft niet. - Als je onbewerkte HTML in je Perl-code hebt, is dit waarschijnlijk een onderhoudsprobleem (zoals je lijkt te hebben ontdekt, gezien de fouten in je HTML). Ik raad ten zeerste aan om uw HTML uit uw Perl-code te verplaatsen naar sjablonen. CGI::Alternatives heeft enkele suggesties over manieren om dit te doen.