#!/usr/local/bin/perl $data = "abcdefghijklmnopqrstuvwxyz"; print &dump($data); exit 0; sub dump { my @data = unpack( "C*", $_[0] ); my $line; my $i = 0; my $msg = ''; foreach ( @data ) { if( ($i % 0x10)==0 ) { $msg = $msg . sprintf( "%05X : " , $i ); $line = ''; } $msg = $msg . "- " if( ($i % 0x10) && ($i % 0x08)==0 ); $msg = $msg . sprintf( "%02X ", $_ ); if( $_ >= 0x20 && $_ <= 0x7E ) { $line = sprintf( "%s%c", $line, $_ ); } else { $line = "$line."; } $i++; $msg = $msg . " $line\n" if( ($i % 0x10)==0 ); } if( $i % 0x10 ) { $msg = $msg . ' 'x ( (16-($i % 0x10)) * 3); $msg = $msg . ' ' if( ($i % 0x10) < 9 ); $msg = $msg . " $line\n"; } return $msg; }