Vous pouvez apporter quelques améliorations à ce code.
- Toujours utiliser
use strict
etuse warnings
dans votre code. Et corrigez les problèmes qu'ils révèlent (principalement en déclarant des variables avecmy
à première vue). - Vous devez
use CGI /:standard/
qui importe une charge de fonctions CGI dans votre espace de noms, mais ensuite vous n'appelez ces fonctions que comme méthodes sur votre objet CGI (dans$q
) afin que l'importation soit inutile. - Vous utilisez la notation d'objet indirecte (
new CGI
) pour créer votre objet CGI. Cela fonctionnera 99% du temps, mais dans les rares cas où il casse, vous perdrez des jours à rechercher le problème. Bien mieux utiliserCGI->new
à la place. - Les fonctions de création HTML dans CGI.pm (vous utilisez
start_html()
) ont été obsolète depuis un certain temps maintenant . Veuillez ne pas les utiliser. - Avoir du HTML brut dans votre code Perl est susceptible d'être un problème de maintenance (comme vous semblez l'avoir découvert, étant donné les erreurs dans votre code HTML). Je recommande fortement de déplacer votre code HTML de votre code Perl vers des modèles. CGI::Alternatives a quelques suggestions sur la manière de procéder.