#! /bin/perl open LEFT, "+= length($buf)) { print "** "; } else { printf "%02x ", ord(substr($buf, $i, 1)); } } print ": "; for ($i = $off; $i < $off + 16; $i++) { if ($i >= length($buf)) { print "*"; } else { $ch = substr($buf, $i, 1); $code = ord($ch); if ($code < 32 || $code > 126) { print "."; } else { print $ch; } } } print "\n"; $off += 16; } print "\n"; }