| #!/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(/^\s*$/); # This is an empty line | |
| next LINE if(/^\s*;/); # This is a comment (no way to diff it) | |
| if( /^\[/ ) { | |
| ${prefix} = ${_}; # assign the prefix for the forthcoming section | |
| ${prefix} =~ s/\s+\d+$//; # get rid of timestamp | |
| print "${prefix}\n"; | |
| next LINE; | |
| } | |
| print "${prefix}$_\n"; | |
| } |