< 47 / < 99 c < 100 d < 62 > * 10 > 60 < > 99 c > 100 d > 62 > #### #!/usr/bin/perl use strict; my $f = shift || die "must supply filename"; open F, $f or die "couldnt open $f: $!"; my $bytepos = shift || die "must supply bytepos"; my $offset = 4; my @range = ($bytepos-$offset .. $bytepos+$offset); my $range = @range; my $text = join '', ; my @substr = ($range[0]-1, $range); warn "substr @substr"; #my $chunk = substr $text, @substr; my $chunk = substr $text, $range[0]-1, $range; warn substr $chunk, 0, 20; my $format = "C" . $range; my @unpack = unpack $format, $chunk; my $normal = $range[0]; my @chunk = split //, $chunk; for (@range) { my $arydex = $_-$normal; if ($_ < $bytepos) { print '< '; } if ($_ > $bytepos) { print '> '; } if ($_ == $bytepos) { print '* '; } print unpack 'C', $chunk[$arydex]; print "\t"; print $chunk[$arydex]; print "\n"; }