#!/usr/bin/perl -w use strict; $| = 1; my $MAXVALUE = 0x30; my $file = shift or die "Please name a file\n"; open my $fh, '<', $file or die "Can't open $file ($!)\n"; binmode $fh; my $buffer; CHUNK: for (;;) { # Read as much as 8k, less if at end of file my $rc = sysread $fh, $buffer, 8192; die "Read error\n" unless defined $rc; # No more bytes? last CHUNK if $rc == 0; for my $byte (unpack('C*', $buffer)) { if ($byte > $MAXVALUE) { printf("%02x > %02x\n", $byte, $MAXVALUE); last CHUNK; } } } close $fh;