#!/usr/bin/perl sub usage { print STDERR "usage: $0 [-g] [file ...]\n"; exit(1); } if ($ARGV[0] eq "-g") { $grep = 1; shift @ARGV; } &usage if $ARGV[0] =~ /^-/; while (<>) { @c = unpack "C*"; for (@c) { if ($_ == 10) { print "$s\n" if $found || !$grep; $found = 0; undef $s; } elsif ($_ < 0x80) { $s .= pack("c", $_); } else { $s .= sprintf("\e[7m%02x\e[0m", $_); $found = 1; } } }