use SNMP::MIB::Compiler; my $mib = new SNMP::MIB::Compiler; while (my ($oid,$type,$val)=read_snmp) { $oid=s/\.(\d+)$//; $index=$1; $arr[$index]{$mib->convert_oid($oid)}=$val; }