Hola, ¿qué tal? Este es mi primer
post en este foro, muy bueno por lo demás, he aprendido bastante.
Tengo unas dudas con algunas líneas de este código, no es mio pero lo he ido modificando.
Using perl Syntax Highlighting
#!/usr/bin/perl
#use strict;
use Net::SNMP qw( oid_lex_sort );
my $oid = '.1.3.6.1.4.1.12394.1.2.100.3.1.1.14';
my $host = 'x.x.x.x';
my $community = 'loquesea';
my ($session, $error) = Net::SNMP->session
(
-hostname => $host ,
-community => $community ,
);
$result = $session->get_table(-baseoid => $oid);
foreach my $resp ( oid_lex_sort ( keys %{ $result } ) )
{
printf("resultado $resp %s\n",$result->{ $resp });
}
$session->close();
Coloreado en 0.004 segundos, usando
GeSHi 1.0.8.4
Y el resultado es el siguiente:
Using text Syntax Highlighting
resultado .1.3.6.1.4.1.12394.1.2.100.3.1.1.14.622.2112 0x0010e7e2e15e
resultado .1.3.6.1.4.1.12394.1.2.100.3.1.1.14.623.2376 0x0010e7a2313d
resultado .1.3.6.1.4.1.12394.1.2.100.3.1.1.14.623.2377 0x0010e7a2313d
resultado .1.3.6.1.4.1.12394.1.2.100.3.1.1.14.624.2505 0x0010e782a15f
resultado .1.3.6.1.4.1.12394.1.2.100.3.1.1.14.624.2506 0x0010e782a15f
Coloreado en 0.000 segundos, usando
GeSHi 1.0.8.4
Mis dudas acá son:
1.- ¿Qué hace lo siguiente?
Using perl Syntax Highlighting
( keys %{ $result } )
$result->{ $resp }Coloreado en 0.001 segundos, usando
GeSHi 1.0.8.4
2.- ¿Cómo puedo hacer para que el valor en Hex me lo deje como
0010E782A15F y no en
0x0010e782a15f, ya que si cambio en printf() el
%s por
%X solo me arroja 0.
P.D.: la variable
$result es una cadena de texto.
Saludos