2011/10/27
■ [snmp] MIBファイル解析してみたり
トラップ定義とか抜き出してみるテスト。
#!/usr/bin/perl use strict; use warnings; my @buf = (); while ( my $line = <> ) { $line =~ s/[\r\n]*$//; $line =~ s/^\s*//; $line =~ s/--.*$//; if ( $line =~ /^\s*$/ ) { next; } push @buf, $line; } my $buf = join " ", @buf; my @list = (); $buf =~ s/([a-zA-Z0-9]+)\s+(?:TRAP|NOTIFICATION)-TYPE\s+(.*?)::=/push @list, "$1::=$2"/eg; foreach my $item ( @list ) { my ( $name, $value ) = split /::=/, $item; print "$name"; if ( $value =~ /(?:OBJECTS?|VARIABLES?)\s*{(.*?)}/ ) { my $objects = $1; $objects =~ s/\s//g; print ",$objects"; } print "\n"; }