Foro de elhacker.net

Programación => Scripting => Mensaje iniciado por: knk.ink en 9 Octubre 2006, 18:06 pm



Título: Ayuda con Perl - Iniciar desde X línea
Publicado por: knk.ink en 9 Octubre 2006, 18:06 pm
Hola soy nuevo en perl, antes programaba en visual basic pero quise ir mas allá

tengo una duda con perl,

die "\nError $!\n"; }

Quiero que si hay un error en la aplicación, el programa vuelva a iniciar desde 0, o que vuelva a tratar desde X linea.

Me explico?

saludos.


Título: Re: Ayuda con Perl !
Publicado por: Hendrix en 9 Octubre 2006, 20:17 pm
Lo podrias ahcer kon un goto....un ejemplo de die es este:

Código:
if ($num != 18) {
die "Error\n";
}

Salu2



Título: Re: Ayuda con Perl !
Publicado por: knk.ink en 10 Octubre 2006, 10:32 am
Gracias por responder Hendrix.


El "script" en perl que estoy haciendo funciona con sockets, y hay un IF que conecta el socket, y hay un "die" que muestra el error, por si falla el socket

Lo que quiero es que si el socket falla, y vaya a "die".., el "die" vuelva a inicar la aplicación para que el socket vuelva a conectar e intente de nuevo ó que empieze desde X linea.


Es que (en el IF) si hay un error con el socket y no conecta ya sea por que no esta conectado a internet, pues te va a enviar a "die" y supongamos que "die" te muestra el mensaje que "no estas conectado a internet", lo que quiero es que en lugar de mostrar cualquier mensaje, intente de nuevo conectarse, como digo.. reiniciando la apliacación o que empieze desde X linea;

Citar
"si hay un error con el socket, vuelve a X linea ó inicia la aplicación"



Ojala me entiendan
Saludos.


Título: Re: Ayuda con Perl - Iniciar desde X línea
Publicado por: devcode en 12 Octubre 2006, 01:51 am
use IO::Socket;
use strict;

my $sock;

while(1) {
   $sock = IO::Socket::INET->new(PeerAddr => 'host.com',
                                                   PeerPort => 80,
                                                   Proto => 'tcp');
   last if $sock;
}


Título: Re: Ayuda con Perl - Iniciar desde X línea
Publicado por: dxr en 16 Octubre 2006, 17:47 pm
yo meteria un sleep ya que sino puede ser un poco pesado...


Título: Re: Ayuda con Perl - Iniciar desde X línea
Publicado por: Off en 13 Diciembre 2006, 02:50 am
Hola soy nuevo en perl, antes programaba en visual basic pero quise ir mas allá

tengo una duda con perl,

die "\nError $!\n"; }

Quiero que si hay un error en la aplicación, el programa vuelva a iniciar desde 0, o que vuelva a tratar desde X linea.

Me explico?

saludos.

En Visual Basic, se usaria "Manejo de Errores" [usando Resume Next, GoTo, etc] :-X

Pero en Perl podrias, como dijeron arriba, hacer un "If" con el resultado de la conexion del socket [es decir, comprobar si funciono o no] y a partir de ese resultado reconectar el socket (deberia ser mas facil, maldito Larry Wall :-X)

Ya de paso żno existen funciones similares a Resume Next [Visual Basic] en Perl? :huh:

Seria mas productivo y efectivo [tal vez] hacerlo de la ultima manera (y mas corto, por supuesto) >:D