my $Class = $Registry->{"LMachine/SYSTEM/ControlSet001/Control/Class"} || die "Can't read LMachine/SYSTEM/ControlSet001/Control/Class key: $^E\n"; my $NetKey; foreach my $SubKey (keys %{$Class}) { my ( $value, $type )= $Class->{$SubKey}->{"/Class"}; if (defined $value && $value eq 'Net') { $NetKey = $Class->{$SubKey}; last; } } my $AdapterKey; foreach my $SubKey (keys %{$NetKey}) { my ( $value, $type )= $NetKey->{$SubKey}->{"/NetCfgInstanceId"}; if (defined $value && $value eq "{$adp_string}") { $AdapterKey = $NetKey->{$SubKey}; last; } } foreach my $SubKey (keys %{$AdapterKey->{'Ndi'}->{'params'}}) { my $pKey = $SubKey; chop $pKey; my ( $value, $type )= $AdapterKey->{$pKey}; my ( $paramname, $ptype )= $AdapterKey->{'Ndi'}->{'params'}->{$SubKey}->{"/ParamDesc"}; print "$paramname: $value\n"; }