Dude! This one is really easy:

print hex("ff"); # 255!

so @result = map{ hex } @source;

Mwa ha ha!


On Tue, Nov 23, 2010 at 3:44 PM, Greg Aiken <gai...@visioninfosoft.com>wrote:

>  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
>
>


-- 
Failure is not important. How you overcome it, is.
-- Nick Vujicic
_______________________________________________
Perl-Win32-Users mailing list
Perl-Win32-Users@listserv.ActiveState.com
To unsubscribe: http://listserv.ActiveState.com/mailman/mysubs

Reply via email to