in reply to hexdump -C
Here's a couple of tweaks...
#!/usr/bin/perl use strict; # https://perlmonks.org/?node_id=11166492 use warnings; use Path::Tiny; use feature 'signatures'; my $file = path('../tmp.tmp'); # FIXME for testing system "hexdump -C $file; echo"; print hexdump( $file->slurp ); sub hexdump($data) { $data =~ s/\G(?| ( \0{16} )+ (?{ '*' }) | ( .{1,16} ) (?{ sprintf '%08X %-50s|%s|', $-[1], "@{[unpack '(H2)8a0(H2)8', $1]}", $1 =~ y{ -~}{.}cr }) )/$^R\n/xsgr . sprintf "%08x\n", length $data; }
Outputs:
00000000 6f 6e 65 0a 74 77 6f 0a 74 68 72 65 65 20 91 92 |one.two.t +hree ..| 00000010 20 66 6f 75 72 0a 66 69 76 65 0a 6f 6e 65 0a 74 | four.fiv +e.one.t| 00000020 77 6f 0a 74 68 72 65 65 20 2c 2c 20 66 6f 75 72 |wo.three +,, four| 00000030 0a 66 69 76 65 0a |.five.| 00000036 00000000 6f 6e 65 0a 74 77 6f 0a 74 68 72 65 65 20 91 92 |one.two.t +hree ..| 00000010 20 66 6f 75 72 0a 66 69 76 65 0a 6f 6e 65 0a 74 | four.fiv +e.one.t| 00000020 77 6f 0a 74 68 72 65 65 20 2c 2c 20 66 6f 75 72 |wo.three +,, four| 00000030 0a 66 69 76 65 0a |.five.| 00000036
|
|---|
| Replies are listed 'Best First'. | |
|---|---|
|
Re^2: hexdump -C
by NERDVANA (Priest) on Oct 13, 2025 at 15:49 UTC |