Data::Hexify - Perl extension for hexdumping arbitrary data
use Data::Hexify; print STDERR Hexify(\$blob);
This module exports one subroutine: Hexify.
Hexify
Hexify formats arbitrary (possible binary) data into a format suitable for hex dumps in the style of xd or hexl.
xd
hexl
The first, or only, argument to Hexify contains the data, or a reference to the data, to be hexified. Hexify will return a string that prints as follows:
0000: 70 61 63 6b 61 67 65 20 44 61 74 61 3a 3a 48 65 package Data::He 0010: 78 69 66 79 3b 0a 0a 75 73 65 20 35 2e 30 30 36 xify;..use 5.006
and so on. At the left is the (hexadecimal) index of the data, then a number of hex bytes, followed by the chunk of data with unprintables replaced by periods.
The optional second argument to Hexify must be a hash or a hash reference, containing values for any of the following parameters:
The first byte of the data to be processed. Default is to start from the beginning of the data.
The number of bytes to be processed. Default is to proceed all data.
The number of bytes to be processed per line of output. Default is 16.
The number of bytes to be grouped together. Default is 1 (no grouping). If used, it must be a divisor of the chunk size.
When set, duplicate lines of output are suppressed and replaced by a single line reading **SAME**.
**SAME**
Duplicate suppression is enabled by default.
A reference to a subroutine that is used to produce a printable string from a chunk of data. By default, a subroutine is used that replaces unwanted bytes by periods.
The subroutine gets the chunk of data passed as argument, and should return a printable string of at most chunksize characters.
chunksize
Align the result to chunksize bytes. This is relevant only when processing data not from the beginning. For example, when first is 10, the result would become:
first
0000: ... 74 61 3a 3a 48 65 ta::He 0010: 78 69 66 79 3b ... 65 20 35 2e 30 30 36 xify;..use 5.006 ... and so on ...
Alignment is on by default. Without alignment, the result would be:
000a: 74 61 3a 3a 48 ... 79 3b 0a 0a 75 73 65 ta::Hexify;..use 001a: 20 35 2e 30 30 ... 73 65 20 73 74 72 69 5.006;.use stri ... and so on ...
Pretend that the data started at this byte (while in reality it starts at byte first). The above example, with start => 0, becomes:
start => 0
0000: 74 61 3a 3a 48 ... 79 3b 0a 0a 75 73 65 ta::Hexify;..use 0010: 20 35 2e 30 30 ... 73 65 20 73 74 72 69 5.006;.use stri ... and so on ...
Data::Dumper, YAML.
Johan Vromans, <jvromans@squirrel.nl>
Copyright (C) 2004 Squirrel Consultancy
This library is free software; you can redistribute it and/or modify it under the same terms as Perl itself, either Perl version 5.6.0 or, at your option, any other version of Perl 5 you may have available.
To install Data::Hexify, copy and paste the appropriate command in to your terminal.
cpanm
cpanm Data::Hexify
CPAN shell
perl -MCPAN -e shell install Data::Hexify
For more information on module installation, please visit the detailed CPAN module installation guide.