En primer lugar a
Cita: PHP5, MySQL5, PHPmyadmin, Postgres8.4,,,
Deberías agregarle la instalación de Perl (
http://www.activestate.com/activeperl/downloads)
La carpeta cgi-bin tiene una característica especial en la instalación por defecto de Apache, es una carpeta dónde todo se ejecuta, por lo que allí solo podrias poner tus pl y ó Cgi, y está definida como un alias con la directiva
ScriptAlias /cgi-bin/ "/www/cgi-bin/"
Podrías ubicarla incluso por fuera de
www., y dado que alli tood se ejecuta no podrias poner alli imagenes u otro contenido.
Para poder procesar tus cgi, pl fuera de cgi-bin, en www ó uno de sus subdirectorios, tenes que agregar
Options +ExecCgi, ya sea a traves de un bloque directory en httpd.conf o directamente en .htaccess
Para ambos casos tenes que tener habilitado
AddHandler cgi-script .cgi .pl .py
(en mi ejempo tambien habilité las scripts de Phyton.
Un último detalle, cuando instales ActivePerl, asegurate de dejar la opción que dice algo como
"agregar extensiones al registro de windows" (eso hace que las scripts pl se asocien al ejecutable perl.exe), creo que por defecto no lo hace para la extensión cgi, asi que tenes que hacerlo manualmente y que en el archivo /conf/extra/Perl.conf esté habilitado
ScriptInterpreterSource Registry
Esto es importante para que no tengas que modificar la ruta a perl en tus scripts, la script
Código Python:
Ver original#!/usr/bin/perl.exe
##
## printenv -- demo CGI program which just prints its environment
##
print "Content-type: text/plain; charset=iso-8859-1\n\n";
foreach $var (sort(keys(%ENV))) {
$val = $ENV{$var};
$val =~ s|\n|\\n|g;
$val =~ s|"|\\"|g;
print "${var}=\"${val}\"\n";
}
va a funcionar aun cuando no exista
#!/usr/bin/perl
y te va a facilitar las cosas si subis esa script a tu servidor web en internet
SAludos