summaryrefslogtreecommitdiff
path: root/perl/SNMP/examples/mibtree.pl
diff options
context:
space:
mode:
Diffstat (limited to 'perl/SNMP/examples/mibtree.pl')
-rw-r--r--perl/SNMP/examples/mibtree.pl20
1 files changed, 20 insertions, 0 deletions
diff --git a/perl/SNMP/examples/mibtree.pl b/perl/SNMP/examples/mibtree.pl
new file mode 100644
index 0000000..0616126
--- /dev/null
+++ b/perl/SNMP/examples/mibtree.pl
@@ -0,0 +1,20 @@
+use SNMP;
+$SNMP::save_descriptions = 1; # must be set prior to mib initialization
+SNMP::initMib(); # parses default list of Mib modules from default dirs
+
+# read dotted decimal oid or symbolic name to look up
+# partial name will be searched and all matches returned
+$val = shift || die "supply partial or complete object name or identifier\n";
+
+if ($node = $SNMP::MIB{$val}) {
+ print "$node:$node->{label} [$node->{objectID}]\n";
+ while (($k,$v) = each %$node) {
+ print "\t$k => $v\n";
+ }
+} else {
+ while (($k,$v) = each %SNMP::MIB) {
+ print "$v->{label} [$v->{obj}]\n" #accepts unique partial key(objectID)
+ if $k =~ /$val/ or $v->{label} =~ /$val/;
+ }
+}
+