A ver... una cosa es ejecutar un programa en la línea de comandos y otra bien distinta, como si fuera un CGI.
Para ejecutar como CGI, el programa debe enviar un preámbulo al navegador del usuario, para que sepa qué es lo que está recibiendo.
Eso es justo lo que dice la segunda línea del error.
Solo tienes que poner un
print "Content-type: text/html\n\n";o un
print "Content-type: text/plain\n\n";nada más empezar el programa.
(Más información, en la sección Tutoriales / CGI de este sitio web, en la parte de arriba de esta página.)
En cuanto al primer error, parece ser que sale de la línea 32 del módulo, indicando que no se ha podido conectar al servidor de correo. Veo también, en esa línea, que hay una opción para activar el modo de depurado en el módulo Net::SMTP::SSL, así que ahí te puede dar más información.
Las primeras líneas del programa quedarían ahora:
Using perl Syntax Highlighting
#!/usr/bin/perl
use Email::Send::SMTP::Gmail;
print "Content-type: text/plain\n\n";
my $mail=Email::Send::SMTP::Gmail->new(
-smtp => 'gmail.com',
-login => 'miusuarioen@gmail.com',
-pass => 'contraseña',
-debug => 1,
);
Coloreado en 0.001 segundos, usando
GeSHi 1.0.8.4
Con el debug activado, verás más información del momento de la conexión, y así podrías saber por qué sale error.