Write both hex and char representation side by side.
Replace non-printing chars by ".". use strict; use locale; in short: Almost completely new :-)
This commit is contained in:
parent
861c35e4db
commit
08a6803030
|
@ -1,15 +1,22 @@
|
|||
#!/usr/bin/perl
|
||||
#!/usr/bin/perl -w
|
||||
use strict;
|
||||
use POSIX;
|
||||
use locale;
|
||||
|
||||
$| = 1;
|
||||
|
||||
while(<>) {
|
||||
if (/^\t\t\t( [0-9a-f]{2,4})+$/) {
|
||||
@hex = split;
|
||||
foreach $i (@hex) {
|
||||
@c = pack("H4", $i);
|
||||
foreach $j (@c) {
|
||||
print "$j";
|
||||
chomp;
|
||||
my @hex = split;
|
||||
my $line = "$_ ";
|
||||
foreach my $i (@hex) {
|
||||
my @c = pack("H4", $i);
|
||||
foreach my $j (split(//, "@c")) {
|
||||
$line .= isprint($j) ? "$j" : ".";
|
||||
}
|
||||
}
|
||||
print "\n";
|
||||
print "$line\n";
|
||||
} else {
|
||||
print
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue