if one dumps a windows registry section using regedit (to *.reg format)

 

the reg_sz values are listed in the following format (heres a code fragment)

 

"\\DosDevices\\E:"=hex:5c,00,3f,00,3f,00,5c,00,53,00,43,00,53,00,49,00,23,00
,\

 
43,00,64,00,52,00,6f,00,6d,00,26,00,56,00,65,00,6e,00,5f,00,45,00,5a,00,35,\

 
00,33,00,35,00,32,00,58,00,26,00,50,00,72,00,6f,00,64,00,5f,00,56,00,54,00,\

 
59,00,35,00,32,00,37,00,4f,00,26,00,52,00,65,00,76,00,5f,00,32,00,2e,00,30,\

 
00,42,00,23,00,35,00,26,00,33,00,36,00,65,00,35,00,39,00,37,00,32,00,26,00,\

 
30,00,26,00,30,00,30,00,30,00,23,00,7b,00,35,00,33,00,66,00,35,00,36,00,33,\

 
00,30,00,64,00,2d,00,62,00,36,00,62,00,66,00,2d,00,31,00,31,00,64,00,30,00,\

 
2d,00,39,00,34,00,66,00,32,00,2d,00,30,00,30,00,61,00,30,00,63,00,39,00,31,\

  00,65,00,66,00,62,00,38,00,62,00,7d,00

 

ive already got code that parses this info.

 

ive removed the trailing \(backslash)newline(space)(space) from the data
block so im left with a scalar containing hexadecimal values separated with
a comma.

 

ive then split this long scaler on the ',' (comma) to yield an array
containing the hex values.

 

my problem here is that I don't know the easiest 'built-in' way to convert
this list of hex values to ascii values (ascii values as in the ascii
character set for printing in human readable letters).  as in the 'char'
column of this table
http://www.hobbyprojects.com/ascii-table/images/ascii-table1.gif

 

I know chr(decimal value) will do such a conversion.  but my values in the
array are not in decimal value format.

 

and im kind of lost with pack.  ive unsuccessfully tried.

 

$ascii_string = pack("H*", @hex_array) and 

$ascii_string = pack("h*", @hex_array) 

 

but neither yields the proper output.

 

I know I could write an ultra low level code that directly converts each hex
byte to decimal, then call chr with the decimal value, but certainly that's
'too much work' in perl.

 

any help would be appreciated.

 

it would be as if were starting with 

 

@hex_array = ('5c','00','3f','00','3f','00','5c','00','53','00',.);

_______________________________________________
Perl-Win32-Users mailing list
Perl-Win32-Users@listserv.ActiveState.com
To unsubscribe: http://listserv.ActiveState.com/mailman/mysubs

Reply via email to