|  | #!/usr/bin/perl | 
|  |  | 
|  | # This script takes as STDIN an output from the Registry | 
|  | # (export from regedit.exe) and prefixes every subkey-value | 
|  | # pair by their hkey,key data member | 
|  | # | 
|  | # Copyright 1999 Sylvain St-Germain | 
|  | # | 
|  | # This library is free software; you can redistribute it and/or | 
|  | # modify it under the terms of the GNU Lesser General Public | 
|  | # License as published by the Free Software Foundation; either | 
|  | # version 2.1 of the License, or (at your option) any later version. | 
|  | # | 
|  | # This library is distributed in the hope that it will be useful, | 
|  | # but WITHOUT ANY WARRANTY; without even the implied warranty of | 
|  | # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU | 
|  | # Lesser General Public License for more details. | 
|  | # | 
|  | # You should have received a copy of the GNU Lesser General Public | 
|  | # License along with this library; if not, write to the Free Software | 
|  | # Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA | 
|  | # | 
|  |  | 
|  | ${prefix} = ""; | 
|  |  | 
|  | LINE: while(<>) { | 
|  | chomp; | 
|  | s/\r$//;                  # Get rid of 0x0a | 
|  |  | 
|  | next LINE if(/^$/);       # This is an empty line | 
|  |  | 
|  | if( /^\[/ ) { | 
|  | ${prefix} = ${_};       # assign the prefix for the forthcomming section | 
|  | next LINE; | 
|  | } | 
|  | s/\\\\/\\/g;              # Still some more substitutions... To fix paths... | 
|  |  | 
|  | print "${prefix}$_\n"; | 
|  | } | 
|  |  | 
|  |  | 
|  |  |