http://qs321.pair.com?node_id=211050


in reply to Win32::TieRegistry disperate situation

you're doing:
$lista= $Registry->Connect( "$ip", "LMachine" )
at this point, $lista contains the Registry of the remote machine. then you do:
$lista=$Registry->{"HKEY_LOCAL_MACHINE/..."}
so you're opening a key on the local registry ($Registry).

it should probably be something like:

$Remote = $Registry->Connect( "$ip", "LMachine" ) or die "blah...\n"; $lista = $Remote->{"HKEY_LOCAL_MACHINE/..."};
cheers,
Aldo

King of Laziness, Wizard of Impatience, Lord of Hubris

Replies are listed 'Best First'.
Re: Re: Win32::TieRegistry disperate situation
by Discipulus (Abbot) on Nov 07, 2002 at 12:57 UTC
    thnks dada

    what a beast error! But truly speaking the we must cut off the LM as in the following code. may be some one can use it.
    grazie aldo!
    $Remote = $Registry->Connect( "$ip", "LMachine" ) or die "blah...\n"; $lista = $Remote->{"Software/ODBC/ODBC.INI"}or die $!; #$lista= $Registry->Connect( "$ip", "LMachine" )or die "Can't connec +t to HostA's HKEY_LOCAL_MACHINE key: $^E\n"; #$lista=$Registry->{"HKEY_LOCAL_MACHINE/Software/ODBC/ODBC.INI"}or d +ie "$^E\n"; foreach $nom(keys (%$lista)) { print $nom; chop $nom; $coso= $Remote->{"Software/ODBC/ODBC.INI/$nom"}or die "$^E\n"; print "\n$nom\t".$coso->{DBQ}or die $!; if (defined $coso->{DBQ}) { if($coso->{DBQ}=~/\\([\w -]+\\)(database\\)(\w+\.mdb)/){$odbc{$1.$3 +}=$nom} } while (($k, $v)=each(%odbc)){print "$k--------$v\n"} }
    lor*