Perl en Español

  1. Home
  2. Tutoriales
  3. Foro
  4. Artículos
  5. Donativos
  6. Publicidad
 
Índice general » Mundo Perl » Web » No me ejecuta los nuevos archivos *.pl que creo Responder al tema
Nuevo tema


Página 1 de 1  [ 11 mensajes ] 
 
Nota 2009-04-14 12:38 @568

Perlero Nuevo
Registrado: 2009-04-09 10:14 @468
Mensajes: 25
No me ejecuta los nuevos archivos *.pl que creo
Hola, pido ayuda ya que ando todavía un poco pez en este asunto, aunque éste no me parece un problema de alguien principiante.

He estado haciendo programillas en Perl y aprendiendo algo pero resulta que ahora cualquier archivo nuevo que creo no me lo ejecuta. Solo me ejecuta los antiguos. De hecho he llegado a copiar el código de uno que me funciona perfectamente en uno nuevo, solo que con otro nombre y no me lo ejecuta.

Agradecería mucho ayuda al respecto, un saludo.


Nota 2009-04-14 12:48 @575
Avatar de Usuario
Administrador
Registrado: 2005-07-24 18:12 @800
Ubicación: Valladolid, España
Mensajes: 10268
Estamos hablando de CGI porque estamos en el foro del mismo.

¿Has mirado si están puestos los permisos de ejecución? ¿En qué sistema operativo estás? ¿Qué servidor web? ¿No puedes poner un ejemplo de CGI que no funciona?


Nota 2009-04-14 13:01 @584

Perlero Nuevo
Registrado: 2009-04-09 10:14 @468
Mensajes: 25
A ver, me explayo:
Tengo Debian Lenny con Apache y tengo los permisos perfectamente como los archivos que se me ejecutan sin problemas pongo ahora el código de un programa que me funciona en el archivo en el que lo hice pero que ahora lo copio y pego en uno nuevo y no me lo ejecuta.

Syntax: [ Download ] [ Hide ]
Using perl Syntax Highlighting
#! /usr/bin/perl

my $TipoContenido = "Content-type: text/html";
my $Inicio = "<html><head><TITLE>Perl</TITLE></head><body>";
my $Titulo = "<h1>HTML desde Perl</h1>";
my $Texto = "<p>Contexto generado desde un CGI Perl.</p>";
my $Fin = "</body></html>";

# Enviamos la pagina
print "$TipoContenido\n\n";
print "$Inicio\n$Titulo\n$Texto\n$Fin";


Nota 2009-04-14 13:05 @586
Avatar de Usuario
Administrador
Registrado: 2005-07-24 18:12 @800
Ubicación: Valladolid, España
Mensajes: 10268
Has dejado una línea en blanco, arriba del todo.
Y no me gusta el espacio en blanco que hay después del '#!'. Está permitido, pero... no me gusta...

_________________
JF^D Perl programming


Nota 2009-04-14 13:34 @606

Perlero Nuevo
Registrado: 2009-04-09 10:14 @468
Mensajes: 25
No me funciona de todas formas pero he estado leyendo el tutorial de aquí sobre los cgi y he visto que si pongo esa extensión me funciona sin problemas.

¿ No te parece realmente raro ?

Además esto me pasó justo después de que crease un *.pl en mi directorio y cuando fui a copiarlo al directorio cgi-bin me decía que el archivo no existía; quería cambiar los permisos y tampoco me dejaba. Era como si no estuviese, en cambio solo me dejaba borrarlo. Y fue a partir de ahí cuando me empezó este problema.


Nota 2009-04-14 13:42 @612
Avatar de Usuario
Administrador
Registrado: 2005-07-24 18:12 @800
Ubicación: Valladolid, España
Mensajes: 10268
No me parece nada raro. El que ejecute una extensión u otra depende de la configuración del servidor web.

En cuanto al tema de los permisos, habría que repasar los permisos de la carpeta o subdirectorio cgi-bin. Según cómo estén, te dejará hacer unas cosas u otras.

Recuerda que el programa pertenece a un usuario. El subdirectorio, a otro. Y pueden ser distintos del usuario que ejecuta el servidor web.

Generalmente, a ese usuario web se le dan permisos para entrar en cgi-bin y permisos de ejecución sobre los cgi.

_________________
JF^D Perl programming


Nota 2009-04-14 14:22 @640

Perlero Nuevo
Registrado: 2009-04-09 10:14 @468
Mensajes: 25
No tengo subdirectorios y ahora ni siquiera me funciona la extensión cgi. Es más, tampoco había configurado nada en Apache y me ha estado funcionando las extensión .pl sin problemas es algo rarísimo. Con Perl no estoy haciendo mi primera toma de contacto con la programación y te aseguro que es tal te lo cuento...


Nota 2009-04-14 14:27 @644
Avatar de Usuario
Administrador
Registrado: 2005-07-24 18:12 @800
Ubicación: Valladolid, España
Mensajes: 10268
Cuando digo subdirectorios me refiero al cgi-bin/.

Deberás echar un vistazo al fichero de error.log del servidor web, para saber qué error sale.

No te olvides de usar el CGI::Carp para que te muestre los errores en el navegador web, como ves en mi CGI mínimo.

_________________
JF^D Perl programming


Nota 2009-04-14 14:59 @666

Perlero Nuevo
Registrado: 2009-04-09 10:14 @468
Mensajes: 25
He mirado el log y efectivamente:
[Tue Apr 14 21:43:34 2009] [error] [client ::1] (13)Permission denied: exec of '/usr/lib/cgi-bin/ENV.pl' failed

Al directorio cgi-bin no es posible cambiarle el usuario o el grupo como para ponerle los de Apache por ejemplo

Código:
drwxr-xr-x 2 root root 4,0K mar 30 16:35 cgi-bin


y de estos 2 el primero no se ejecuta, pero el segundo sí

Código:
-rwxr-xr-x 1 root root  533 abr 14 20:43 ENV.pl
-rwxr-xr-x 1 root root  888 abr 13 20:50 Expresiones_Regulares.pl


¿ Dónde está el truco, por favor ?


Nota 2009-04-14 15:27 @686
Avatar de Usuario
Administrador
Registrado: 2005-07-24 18:12 @800
Ubicación: Valladolid, España
Mensajes: 10268
Puede estar en dos sitios.

Uno, en el contenido. Podría haber un problema en la cabecera como te comenté antes.

Y dos, podría ser que estén afectando los atributos ACL del directorio. Un poco raro, pero podría ser.

Yo apuesto por el primer caso. ¿Has intentado ejecutarlo desde la línea de comandos?

Han ocurrido casos extraños, en los cuales había un carácter extraño en la primera fila, como un retorno de carro msdos, que al ser invisible, no lo vemos. La solución es borrar la línea y volver a escribirla bien.

_________________
JF^D Perl programming


Nota 2009-04-15 11:37 @526

Perlero Nuevo
Registrado: 2009-04-09 10:14 @468
Mensajes: 25
Pues me quedo con lo más extraño: el último caso; debía de haber un carácter por ahí porque ha sido reescribir la 1ª línea, y asunto solucionado.

Buff, ¡qué alivio!, me estaba volviendo loco, no veía que podía ser. Una vez más muchas gracias por la ayuda.

Un saludo


Responder al tema  [ 11 mensajes ] 

Reglas del Foro
No puedes abrir nuevos temas en este Foro
No puedes responder a temas en este Foro
No puedes editar tus mensajes en este Foro
No puedes borrar tus mensajes en este Foro
No puedes enviar adjuntos en este Foro

Publicidad

Socializa

Síguenos por Twitter

Suscríbete GRATUITAMENTE al Boletín de Perl en Español

Saltar a:  
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
Traducción al español por Huan Manwë para phpbb-es.com
phpBB SEO