Revision history for Perl extension Parse::Win32Registry. ** 0.41 2008-12-14 Added the new get_class_name function for Windows NT registry keys. Added the regclassnames.pl script to demonstrate finding keys that have class names, and updated regview.pl to display the timestamp and class names of keys in additional columns. ** 0.40 2008-09-28 Added new scripts: regexport.pl for exporting keys and values using the Windows Registry Editor Version 5.00 format, regscan.pl for dumping all the entries in a registry file, regstats.pl for providing basic statistics, regtimeline.pl for listing keys and values in date order, regtree.pl for dumping a registry file as an intended tree, and regview.pl, a GTK+ Registry Viewer. Updated regdump.pl and regfind.pl to provide new options. Changed parse errors to generate warnings instead of croaking. Documented this in the Handling Invalid Data section. The get_data method of Value objects now handles REG_MULTI_SZ data by returning a list of its elements in an array context, and a string in a scalar context. The output of get_data_as_string is unaffected. Added new Registry object methods: get_virtual_root_key, get_timestamp, get_timestamp_as_string, and get_embedded_filename. Added new Key object methods: as_regedit_export, get_parent, and is_root. Added new Value object methods: as_regedit_export, and get_raw_data. Added the get_next_entry and move_to_first_entry methods to the Registry object for iterating through all the entries in a registry file. Added the Entry object class as a generic object to represent these entries. Added the methods parse_info and as_hexdump to Entry, Key, and Value objects. Support function convert_filetime_to_epoch_time renamed to unpack_windows_time, added the function unpack_unicode_string, and documented hexdump. ** 0.30 2007-07-01 Added two new scripts: regfind.pl for searching keys, values, and data for a search string, and regdiff.pl for comparing two registry files and displaying the differences. dumpreg.pl renamed to regdump.pl and command line options simplified. Introduced the as_string method for Key and Value objects. This is intended to be a more usable replacement for the print_summary method. The get_data_as_string method changed to return REG_DWORD values as a hexadecimal number followed by its decimal equivalent. Clarified that REG_DWORD values are returned as unsigned integers. Support functions convert_filetime_to_epoch_time and iso8601 documented. Fixed bugs handling unusual key names in the get_subkey method. ** 0.25 2006-11-12 Fixed a bug with new WinNT key objects incorrectly setting the offsets to subkey lists and value lists when the offset to the parent key had a particular value. ** 0.24 2006-10-29 Key objects now have a get_path method, which returns the path to that key from the root key of a registry file. Documentation updated to describe the new method. dumpreg.pl updated to use get_path. Dropped the prefix_pattern and long_prefix_pattern configuration options from Getopt::Long. (which required an unnecessarily recent version of Getopt::Long) ** 0.23 2006-08-13 Key objects now have the get_timestamp and get_timestamp_as_string methods, although only Windows NT registry keys will return valid values. print_summary nows also displays the timestamp for Windows NT registry keys. Documentation updated to reflect this. Makefile.PL now installs the dumpreg.pl script. ** 0.22 2006-08-06 Included the script dumpreg.pl as both a tool for examining registry files, and as an example. Offsets that require adjustment by fixed amounts (this applies to entries in the RGKN block of Windows 95 registry files and to all entries in the hbin blocks of Windows NT registry files) are now amended before being stored, rather than at seek time. Troubleshooting section added to the documentation. ** 0.21 2006-07-30 Checks added after every sysread, and improvements attempted for the error messages presented. Internal error messages have been made distinct from parse errors. The code that looks up the RGDB entry for Win95 keys has been revised to remove some duplicate code. It's still too long. Reading REG_DWORD values which are not the expected four bytes in length no longer results in an exception. get_data now returns undef for these values instead of failing. get_data_as_string updated to return (no data) when get_data returns an empty string, and (invalid data) when get_data returns undef (which should only occur for invalid REG_DWORD values). ** 0.20 2006-07-23 Released to CPAN.