Beefy Boxes and Bandwidth Generously Provided by pair Networks
laziness, impatience, and hubris
 
PerlMonks  

Re: Parsing and pushing

by bobf (Monsignor)
on Sep 19, 2006 at 15:33 UTC ( [id://573752]=note: print w/replies, xml ) Need Help??


in reply to Parsing and pushing

This should get you started. I'm not familiar with SNMP trap format so there may be edge cases, and it could likely be written better.

use warnings; use strict; my $data = '%CATD_I_060, SNMPTRAP: -c public 954 165.148.211.199 wblvh +001.telkom.co.za 6 10 00:00:00 16 OID: 1.3.6.1.4.1.954.1.1.1.1.1.7557 +342 .iso.org.dod.internet.private.enterprises.954.1.1.1.1.1.7557342 V +ALUE: I OID: 1.3.6.1.4.1.954.1.1.1.1.2.7557342 .iso.org.dod.internet. +private.enterprises.954.1.1.1.1.2.7557342 VALUE: 7557342 OID: 1.3 +.6.1.4.1.954.1.1.1.1.3.7557342 .iso.org.dod.internet.private.enterpri +ses.954.1.1.1.1.3.7557342 VALUE: tcenshpat1 OID: 1.3.6.1.4. +1.954.1.1.1.1.4.7557342 .iso.org.dod.internet.private.enterprises.954 +.1.1.1.1.4.7557342 VALUE: TEST_FILE_NAME OID: 1.3.6.1 +.4.1.954.1.1.1.1.5.7557342 .iso.org.dod.internet.private.enterprises. +954.1.1.1.1.5.7557342 VALUE: 3030303036 OID: 1.3.6.1.4.1.954.1.1.1.1. +6.7557342 .iso.org.dod.internet.private.enterprises.954.1.1.1.1.6.755 +7342 VALUE: V OID: 1.3.6.1.4.1.954.1.1.1.1.7.7557342 .iso.org.dod.int +ernet.private.enterprises.954.1.1.1.1.7.7557342 VALUE: Not_Noticed + OID: 1.3.6.1.4.1.954.1.1.1.1.8.7557342 .iso.org.dod.internet.privat +e.enterprises.954.1.1.1.1.8.7557342 VALUE: 32303036303931303233353531 +32 OID: 1.3.6.1.4.1.954.1.1.1.1.9.7557342 .iso.org.dod.internet.priva +te.enterprises.954.1.1.1.1.9.7557342 VALUE: OID: 1.3.6.1.4.1 +.954.1.1.1.1.10.7557342 .iso.org.dod.internet.private.enterprises.954 +.1.1.1.1.10.7557342 VALUE: OID: 1.3.6.1.4.1.954.1.1.1. +1.11.7557342 .iso.org.dod.internet.private.enterprises.954.1.1.1.1.11 +.7557342 VALUE: CTMERRJOBNAMECTMERRTest job for unicenter OID: 1.3.6. +1.4.1.954.1.1.1.1.12.7557342 .iso.org.dod.internet.private.enterprise +s.954.1.1.1.1.12.7557342 VALUE: OID: 1.3.6.1.4.1.954 +.1.1.1.1.13.7557342 .iso.org.dod.internet.private.enterprises.954.1.1 +.1.1.13.7557342 VALUE: TEST_GROUP OID: 1.3.6.1.4.1.954.1.1. +1.1.14.7557342 .iso.org.dod.internet.private.enterprises.954.1.1.1.1. +14.7557342 VALUE: TEST_APPLICATION OID: 1.3.6.1.4.1.954.1.1.1.1.1 +5.7557342 .iso.org.dod.internet.private.enterprises.954.1.1.1.1.15.75 +57342 VALUE: TEST_JOB_NAME + OID: 1.3.6.1.4.1.954.1.1.1.1.16.7557342 .iso.org.dod.interne +t.private.enterprises.954.1.1.1.1.16.7557342 VALUE: tcenshpat1'; my @matches = $data =~ m/VALUE: (.+?) OID/g; print "$_\n" for @matches;

Output:

I 7557342 tcenshpat1 TEST_FILE_NAME 3030303036 V Not_Noticed 3230303630393130323335353132 CTMERRJOBNAMECTMERRTest job for unicenter TEST_GROUP TEST_APPLICATION TEST_JOB_NAME

I used an array to hold the matches (I hope this qualifies as a "separate variable" in your OP). See perlre for information on regular expressions. You can get the command line parameters from @ARGV (see perlvar).

Replies are listed 'Best First'.
Re^2: Parsing and pushing
by Anonymous Monk on Sep 19, 2006 at 15:42 UTC
    Thanks so much!!!!!!

    It's working, I had the @ARGV stuff but not much else.

    Thanks again!

Log In?
Username:
Password:

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

How do I use this?Last hourOther CB clients
Other Users?
Others surveying the Monastery: (4)
As of 2024-04-24 14:39 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    No recent polls found