sub decode_submit_v4 { my $pdu = shift; ($pdu->{message_class}, # 1 (2) $pdu->{source_addr_ton}, # 2 (1) $pdu->{source_addr_npi}, # 3 (1) $pdu->{source_addr}, # 4 (n+1) ) = unpack 'nCCZ*', $pdu->{data}; my $len = 2 + 1 + 1 + length($pdu->{source_addr}) + 1; ($pdu->{number_of_dests}) = unpack 'N', substr($pdu->{data}, $len); $len += 4; #warn "a decode_submit $len ($pdu->{number_of_dests}): ".hexdump(substr($pdu->{data}, $len)); ....