Cuando ejecutemos un CGI a través de un browser, si el CGI tiene algún error de programación, el error que obtendremos en el navegador será parecido a algunos de los siguientes:
Errors/Warnings:
500 DNS Error.
O también:
NO CARD IN THIS FILE
O también:
Error 500: Server Internal Error
lo cual no es muy útil a la hora de detectar los errores o depurar el programa.
Es conveniente (que no obligatorio) hacer uso de sentencias print cortas y claras, terminándolas con retornos de carro, para que el código WML generado sea claro y fácil de depurar.
De esta forma, y antes de probar un script a través del browser, lo que haremos será ejecutarlo desde la línea de órdenes (shell), con lo cual, si hay errores, nos saldrá la línea/s donde los hay, y si todo está bien, nos imprimirá el código WML que formaría la página a visualizar.
Por otro lado, si el código generado es fácil de seguir, nos será más fácil después ver porqué los elementos y la información generada para visualizar en el browser cliente no aparece como deseamos (si es que aparece mal). En el siguiente ejemplo tenemos CGI mal hecho