Perl en Español

  1. Home
  2. Tutoriales
  3. Foro
  4. Artículos
  5. Donativos
  6. Publicidad
 

Captura errores

 
Publicar nuevo tema   Responder al tema    Foros de discusión -> Básico
Mensaje Mie Oct 29, 2008 10:19 am
jmdelcampo
Perlero Nuevo
Perlero Nuevo
Registrado: 24 Nov 2006
Mensajes: 21
Captura errores Responder citando

Buenas a todos.

Tengo un proceso en el que debo acceder a archivos de forma remota para ello hago, evidentemente,

Perl:
open(FH,$file) || $log->error_die();

donde
Perl:
$file = '/usr/local/bin/ssh logcollector "/usr/bin/gzcat /Informatica/ftp_core_r9/logs/cae/cae90*.prdes_access.log_20081028*.* || /usr/bin/cat /Informatica/ftp_core_r9/logs/cae/cae90*.prdes_access.log_20081028*.*" |';


Al ejecutarlo obtengo el siguiente error:
Código:
sh: /usr/local/bin/ssh: not found
y sigue ejecutando el proceso.

Alguien me podría ayudar para capturar el error y saber cuándo existe y cuándo no.

Saludos y gracias.
Mensaje Mie Oct 29, 2008 1:57 pm
creating021
Vive para Perl en Español
Vive para Perl en Español
Registrado: 23 Feb 2006
Mensajes: 498
Ubicación: Frente al monitor
Responder citando

Intenta lo siguiente ->
Perl:
open ( FH, $file ) or {
    my $error = $!; # Esto atrapa el error;
    $log->error_die();
};


Para saber si el ejecutable existe (como ejecutable) puedes hacer lo siguiente ->

Perl:
if ( -x "/ruta/del/ejecutable" ) {
    print "El ejecutable existe";
}


O también puedes usar esto...
Perl:
if ( open FH, $file ) {
    print "El archivo se ha ejecutado\n";
}
else {
    print "ERROR: $!\n";
}


También puedes usar IPC::Open3 o algún módulo SSH que podrías encontrar en CPAN
Mensaje Jue Oct 30, 2008 7:40 am
jmdelcampo
Perlero Nuevo
Perlero Nuevo
Registrado: 24 Nov 2006
Mensajes: 21
Responder citando

Gracias creating021
Publicar nuevo tema   Responder al tema    Foros de discusión -> Básico Todas las horas son GMT - 6 Horas
Página 1 de 1



Powered by phpBB © 2001, 2005 phpBB Group