Página 1 de 1

Filtrar palabras de un código fuente

NotaPublicado: 2009-06-24 15:10 @673
por confused
Hola gente, ¿qué tal?, Para empezar soy nuevo en este foro así que antes que nada felicitarlos.

Bueno, vamos al grano. He realizado un pequeño script en Perl, el cual FUNCIONA.

Pero necesito ajustar más los parámetros... El script lo que hace es muy simple: ingreso un HASH md5; y éste lo ingresa en una base de datos: una web donde contiene muchos hash con sus 'valores' desencriptados.

Es decir, el user ingresa un hash, y le devolvería algo así:

Código: Seleccionar todo
098f6bcd4621d373cade4e832627b4f6 - test


Esto es lo que yo quiero hacer, pero al realizar el script, me devuelve TODO EL CÓDIGO FUENTE.

¿Hay alguna forma de intentar que mediante expresiones regulares o algún tipo de filtro me deje la palabra solamente?

Les dejo mi humilde código.

Sintáxis: [ Descargar ] [ Ocultar ]
Using perl Syntax Highlighting
#!/usr/bin/perl
####################################################################
# Testea si un hash en md5 previamente fue crackeado, en una base de datos  
# Confused                                                       
####################################################################

use LWP::UserAgent;
use HTTP::Request;

#Input para almacenar el Hash MD5.
system("clear");
print "-> Ingrese hash: ";
$hash =<STDIN>;
chomp($hash);

#Base de Datos G-DATA Online
$url = "http://gdataonline.com/qkhash.php?mode=txt&hash=$hash";

#Definiendo UserAgent nuevo.
my $ua = LWP::UserAgent->new();
$ua->agent("Morcilla/4.0");

#Definiendo Request.
my $req = HTTP::Request->new(POST => $url);
my $respuesta = $ua->request($req);
my $contenido = $respuesta->content(); #contenido de la respuesta
print "$contenido\n";
Coloreado en 0.004 segundos, usando GeSHi 1.0.8.4

NotaPublicado: 2009-06-24 18:30 @812
por netsoul
Pues, si no me equivoco:

Sintáxis: [ Descargar ] [ Ocultar ]
Using perl Syntax Highlighting
my ($a) = $contenido =~ m/%"><b>(.+)<\/b>/;

print "$a\n";
Coloreado en 0.001 segundos, usando GeSHi 1.0.8.4

NotaPublicado: 2009-06-24 18:41 @820
por explorer
Bienvenido a los foros de Perl en Español, confused.

Sí, la solución es muy sencilla... con una sola expresión regular sale bien...

Sintáxis: [ Descargar ] [ Ocultar ]
Using perl Syntax Highlighting
#!/usr/bin/perl
####################################################################
# Testea si un hash en md5 previamente fue crackeado, en una base de datos
# Confused
####################################################################

use Modern::Perl;

use LWP::Simple qw'$ua get';
$ua->agent("Morcilla/4.0");

print "-> Ingrese hash: ";
chomp(my $hash =<STDIN>);

my $respuesta = get("http://gdataonline.com/qkhash.php?mode=txt&hash=$hash");

say $respuesta ~~ m{ > $hash < .*? b> (.+?) </b }msx
    ? "Encontrado: $hash - $1"
    : "No encontrado"
    ;

__END__
Coloreado en 0.002 segundos, usando GeSHi 1.0.8.4

NotaPublicado: 2009-06-24 21:38 @943
por confused
Muchas gracias gente, ¡ funcionó de maravilla !
Me verán más seguido por acá, espero aportar algo :p

¡Saludos!