Perl en Español

  1. Home
  2. Tutoriales
  3. Foro
  4. Artículos
  5. Donativos
  6. Publicidad
 
Índice general » Mundo Perl » Web » ¿Cómo ignorar errores? Responder al tema
Nuevo tema


Página 1 de 1  [ 2 mensajes ] 
 
Nota 2006-10-23 17:56 @789
Avatar de Usuario
Perlero Nuevo
Registrado: 2006-10-13 17:59 @791
Mensajes: 5
¿Cómo ignorar errores?
Tengo un CGI que ejecuta algunos comandos con system,
Mi CGI hace lo que quiero pero al final aparece 500 Internal Server ERROR, y no llega a la última parte del CGI que es redireccionar a otra página.
Checando el log del apache veo que lo que marca no son realmente errores, sino las órdenes y el resultado de los comandos system.
Estuve tratando con CGI::Carp pero no me resolvió nada, y también estuve buscando en la configuración del apache.

Syntax: [ Download ] [ Hide ]
Using perl Syntax Highlighting
@sysargs=("cvs","-d:pserver:$user\@$host:/$repo","checkout","$module");
system(@sysargs);


El log del apache

Código:
[23.10.2006.10:44][192.168.0.14]ERROR cvs checkout proyecto1
[23.10.2006.10:44][192.168.0.14]ERROR cvs checkout proyecto1
[23.10.2006.10:44][192.168.0.14]ERROR cvs checkout proyecto1/logg.svg
......

¿Cómo puedo hacer para que corra bien este CGI?


Nota 2006-10-23 18:14 @801
Avatar de Usuario
Administrador
Registrado: 2005-07-24 18:12 @800
Ubicación: Valladolid, España
Mensajes: 10249
Es posible que la ejecución con system haga que esos comandos manden información a la salida estándar o salida de error estándar.

Podrías ver si el cvs admite algún flag para impedir que muestre esos mensajes. O quizás, decirle que los grabe a un determinado fichero (o incluso /dev/null).

Usando Perl, se puede redirigir las entradas, salidas y salida de error estándar a ficheros o incluso a estructuras internas. Aunque se puede hacer con open y select, yo suelo usar el método tap del módulo Sysadm::Install:
Syntax: [ Download ] [ Hide ]
Using perl Syntax Highlighting
($stdout, $stderr, $exit_code) = tap($cmd, @args)
De esa manera, estás seguro de que no salen al 'exterior' del programa (y por ende, a la página web).


Responder al tema  [ 2 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