my $cmdoutput = `snmpwalk blah blah blah | tail -1`; my $snmpval = substr( $cmdoutput, 54, 10 ); #### loop iter. step etime= petime= ---------------------------------------- 1 at "#time" time1 0 at "#eth0in" time1 time1 2 at "#time" time2 time1 at "#eth0in" time2-time1 time2 3 at "#time" time3 time2 at "#eth0in" time3-time2 time3 #### %iface = ( eth0in => { param => 'InOctets.3', now => 0, prv => 0 }, eth0out=> { param => 'OutOctets.3', now => 0, prv => 0 }, loout => { param => 'OutOctets.1', now => 0, prv => 0 }, ); # use $iface{eth0in}{param} to run snmpwalk for that item, # use $iface{ethoin}{now} to store snmpwalk output, etc...