home *** CD-ROM | disk | FTP | other *** search
- @rem = '-*- Perl -*-';
- @rem = '
- @echo off
- perl %0.cmd %1 %2 %3 %4 %5 %6 %7 %8 %9
- goto endofperl
- ';
-
- require "registry.pl";
-
- #
- # This perl script removes all traces of Perl from the
- # NT Registry.
- #
-
- &RegOpenKeyEx($HKEY_LOCAL_MACHINE,
- "SYSTEM\\CurrentControlSet\\Control\\Session Manager\\Environment",
- 0, $KEY_ALL_ACCESS, $key)
- || die "Can't open Session Manager Environment key: $!\n";
-
- &RegQueryValueEx($key, "Path", 0, $type, $pathstring)
- || die "Can't get Path string: $!\n";
-
- $newpath = join(';', grep (!/perl/, split(';', $pathstring))) . ";";
-
- &RegSetValueEx($key, "Path", 0, $type, $newpath)
- || die "Can't set Path variable: $!\n";
-
- &RegCloseKey($key);
-
- &DelAllKeys ($HKEY_LOCAL_MACHINE, "SOFTWARE\\Intergraph\\Perl");
-
- sub DelAllKeys {
- local($key, $keystring) = @_;
- local($idx, $name, $newkey);
-
- &RegOpenKeyEx($key, $keystring, 0, $KEY_ALL_ACCESS, $newkey)
- || die "Can't open $key\\$keystring: $!\n";
-
- $idx = 0;
- while(&RegEnumKey($newkey, $idx++, $name)) {
- &DelAllKeys($newkey, $name);
- # &RegDeleteKey($newkey, $name)
- # || die "Can't delete key $name from $keystring: $!\n";
- }
- &RegCloseKey($newkey);
- &RegDeleteKey($key, $keystring)
- || die "Can't delete key $keystring: $!\n";
- }
-
- __END__
- :endofperl
-