in reply to Hex editor

The problem is hexbin() is never called, only binhex() is:
if ($hexbin eq "-h"||"-H") { binhex(); } elsif ($hexbin eq "-b"||"-B") { hexbin(); }
You're doing comparisons incorrectly. You can't say $x eq "Y" or "Z", you have to say $x eq "Y" or $x eq "Z". Because you're doing it this way, binhex() is ALWAYS called, because even if $hexbin is not "-h", the string "-H" is always true.
_____________________________________________________
Jeff[japhy]Pinyan: Perl, regex, and perl hacker, who'd like a job (NYC-area)
s++=END;++y(;-P)}y js++=;shajsj<++y(p-q)}?print:??;