Beefy Boxes and Bandwidth Generously Provided by pair Networks
Just another Perl shrine
 
PerlMonks  

Re^4: Accessing 2nd level elements in XML::Simple and using the data in an SNMP call

by wruehl (Acolyte)
on Jul 31, 2007 at 17:03 UTC ( [id://629872]=note: print w/replies, xml ) Need Help??


in reply to Re^3: Accessing 2nd level elements in XML::Simple and using the data in an SNMP call
in thread Accessing 2nd level elements in XML::Simple and using the data in an SNMP call

Thanks for all the help. The final code is posted below, well a base functionality skeleton is at least, including the trial SNMPget call. It returns a hash instead of a value, but at least now I know that the communication syntax is correct. If anyone has hints as to how to get a value instead of a hash out of the call, that would be appreciated. Here's the code now, with "use strict" enabled.
#!/usr/bin/perl -w use strict; #modules used use XML::Simple; use Data::Dumper; use Net::SNMP; our ($data, $xml, $e, $Host, $OID, $port, $value, $IPAddressA, $sessio +n, $error); #create object $xml = new XML::Simple; # MIB Hard value taken from parameters of the DC1 fab port pairs scrip +t appended a 1 to test port #1 $OID = ".1.3.6.1.4.1.289.2.1.1.2.3.1.1.152.1"; #checking against PD110 as a test run will probably be read from an XM +L input file in the future $Host = "10.2.125.110"; # read the XML file $data = $xml->XMLin("FabPortPairs.xml"); #print Dumper($data); foreach $e (@{$data->{PairedDevices}}) #Do actions that require use of XML data in this loop possibly #call SNMP data gathering and reporting { print "Pairname is: " . $e->{PairName} . "\n "; print "Hosted Apps are: " . $e->{HostedApplication} . "\n" ; print "HostOS is: " . $e->{HostOS} . "\n"; $IPAddressA = $e->{DeviceA}->{IPAddress} ; print "Var name for IpAddressA is " . $IPAddressA . "\n"; } ##test SNMP code print "SNMP test run \n"; ($session,$error) = Net::SNMP->session(Hostname => $Host, Community => "public"); die "session error: $error" unless ($session); $value = $session->get_request($OID); die "request error " . session->error unless (defined $value); $session->close; print "port info: " . $value . "\n";
  • Comment on Re^4: Accessing 2nd level elements in XML::Simple and using the data in an SNMP call
  • Download Code

Log In?
Username:
Password:

What's my password?
Create A New User
Domain Nodelet?
Node Status?
node history
Node Type: note [id://629872]
help
Chatterbox?
and the web crawler heard nothing...

How do I use this?Last hourOther CB clients
Other Users?
Others admiring the Monastery: (1)
As of 2024-04-25 00:49 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    No recent polls found