• Publicidad

Mostrar array cada 5

¿Apenas comienzas con Perl? En este foro podrás encontrar y hacer preguntas básicas de Perl con respuestas aptas a tu nivel.

Mostrar array cada 5

Notapor BigBear » 2013-11-23 14:14 @635

Hola, tengo el siguiente código.

Sintáxis: [ Descargar ] [ Ocultar ]
Using perl Syntax Highlighting
  1. use Shodan::WebAPI;
  2.  
  3. $your_key = "test";
  4.  
  5. $shell_shodan = new Shodan::WebAPI($your_key);
  6. $resultados = $shell_shodan->search("probando");
  7.  
  8. @matches = @{$resultados->{'matches'}};
  9.  
  10. <stdin>; # por cada enter
  11.  
  12. # acá sería la cosa
  13.  
  14. for ( $i = 0; $i < $#matches; $i++ ) {
  15.         print "IP: $matches[$i]->{ip}\n";
  16.         print "$matches[$i]->{data}\n\n";
  17. }
  18.  
  19. # acá termina xD
  20.  
  21.  
Coloreado en 0.005 segundos, usando GeSHi 1.0.8.4


Mi plan es mostrar cada valor cada 5, o sea, que por cada <stdin> se muestren 5 informaciones nuevas hasta terminar el array, que se vayan sumando hasta terminar de mostrar todo para después terminar. El plan que tengo en mente no me parece efectivo por eso quería preguntarles cuál es la mejor forma de hacer esto.
BigBear
Perlero frecuente
Perlero frecuente
 
Mensajes: 981
Registrado: 2009-03-01 18:39 @818

Publicidad

Re: Mostrar array cada 5

Notapor Aceitunas » 2013-11-23 14:22 @640

No entiendo qué es lo que quieres hacer... :roll:
Voy a llegar hasta el final, voy a subir la velocidad - Migue Benítez.
Aceitunas
Perlero nuevo
Perlero nuevo
 
Mensajes: 117
Registrado: 2013-11-07 15:25 @684
Ubicación: Ciudad Real, España.

Re: Mostrar array cada 5

Notapor BigBear » 2013-11-23 14:24 @642

Recorrer un array para mostrar los resultados cada 5, hasta terminar el array.
BigBear
Perlero frecuente
Perlero frecuente
 
Mensajes: 981
Registrado: 2009-03-01 18:39 @818

Re: Mostrar array cada 5

Notapor Aceitunas » 2013-11-23 14:26 @643

Sintáxis: [ Descargar ] [ Ocultar ]
Using perl Syntax Highlighting
  1. for ( $i = 0; @matches[$i]; $i++ )
Coloreado en 0.001 segundos, usando GeSHi 1.0.8.4


¿eso?
Voy a llegar hasta el final, voy a subir la velocidad - Migue Benítez.
Aceitunas
Perlero nuevo
Perlero nuevo
 
Mensajes: 117
Registrado: 2013-11-07 15:25 @684
Ubicación: Ciudad Real, España.

Re: Mostrar array cada 5

Notapor BigBear » 2013-11-23 14:28 @645

No. La cosa es usando shodan para mostrar cada 5 datos por cada enter usando <stdin> hasta terminar de mostrar el array o llegue al límite del array.
BigBear
Perlero frecuente
Perlero frecuente
 
Mensajes: 981
Registrado: 2009-03-01 18:39 @818

Re: Mostrar array cada 5

Notapor explorer » 2013-11-23 16:49 @742

Sintáxis: [ Descargar ] [ Ocultar ]
Using perl Syntax Highlighting
  1. for ( $i = 0; $i < $#matches; ) {
  2.     print "IP: $matches[$i]->{ip}\n";
  3.     print "$matches[$i]->{data}\n\n";
  4.  
  5.     $i++;
  6.  
  7.     if ($i % 5 == 0) {
  8.          <STDIN>;
  9.     }
  10. }
Coloreado en 0.001 segundos, usando GeSHi 1.0.8.4
JF^D Perl programming & Raku programming. Grupo en Telegram: https://t.me/Perl_ES
Avatar de Usuario
explorer
Administrador
Administrador
 
Mensajes: 14480
Registrado: 2005-07-24 18:12 @800
Ubicación: Valladolid, España

Re: Mostrar array cada 5

Notapor BigBear » 2013-11-24 11:11 @508

Gracias por la ayuda, explorer. Tengo otra duda sobre cómo sacar los hostnames en un resultado.
Sintáxis: [ Descargar ] [ Ocultar ]
Using perl Syntax Highlighting
  1.         print "[+] Hostnames : ";
  2.         for my $host(@encontrados[$i]->{hostnames}) {
  3.                         print "\t$host";
  4.                 }
Coloreado en 0.003 segundos, usando GeSHi 1.0.8.4


Teóricamente debería funcionar según el ejemplo en la página de Shodan

Sintáxis: [ Descargar ] [ Ocultar ]
Using text Syntax Highlighting
{
        total => 8669969,
        countries => [
                {
                        code => 'US',
                        count => 4165703,
                        name => 'United States'
                },
                {code => 'DE', count => 610270, name => 'Germany'},
                {code => 'JP', count => 496556, name => 'Japan'},
                {code => 'RO', count => 486107, name => 'Romania'},
                {code => 'GB', count => 273948, name => 'United Kingdom'}
        ],
        matches => [
                {
                        country => 'DE',
                        data => 'HTTP/1.0 200 OK\r\nDate: Mon, 08 Nov 2010 05:09:59 GMT\r\nSer...',
                        hostnames => ['pl4t1n.de'],
                        ip => '89.110.147.239',
                        os => 'FreeBSD 4.4',
                        port => 80,
                        updated => '08.11.2010'
                },
                ...
        ]
}
Coloreado en 0.000 segundos, usando GeSHi 1.0.8.4


¿ Qué estoy haciendo mal ?
BigBear
Perlero frecuente
Perlero frecuente
 
Mensajes: 981
Registrado: 2009-03-01 18:39 @818

Re: Mostrar array cada 5

Notapor explorer » 2013-11-24 14:04 @627

Algo así:
Sintáxis: [ Descargar ] [ Ocultar ]
Using perl Syntax Highlighting
  1.         print "[+] Hostnames: ", join("\t", @{ $matches[$i]->{hostnames} } ), "\n";
Coloreado en 0.001 segundos, usando GeSHi 1.0.8.4

El 'cast' @{} debe rodear a todo el valor devuelto por el hash, porque es una referencia a un array, y queremos desreferenciarlo.
JF^D Perl programming & Raku programming. Grupo en Telegram: https://t.me/Perl_ES
Avatar de Usuario
explorer
Administrador
Administrador
 
Mensajes: 14480
Registrado: 2005-07-24 18:12 @800
Ubicación: Valladolid, España

Re: Mostrar array cada 5

Notapor BigBear » 2013-11-24 15:23 @682

Anda genial. Gracias por la ayuda, explorer.
BigBear
Perlero frecuente
Perlero frecuente
 
Mensajes: 981
Registrado: 2009-03-01 18:39 @818


Volver a Básico

¿Quién está conectado?

Usuarios navegando por este Foro: No hay usuarios registrados visitando el Foro y 10 invitados