in reply to I just realized that FILEHANDLES violate use strict

I believe this is because strict doesn't deal with filehandles. This is why not declaring a filehandle will never raise a warning/error (but if you're using a non-existant filehandle you'll *probably* get an warning/error of some kind), and why they don't violate strict.
But if you're worried about keeping track of your filehandles and have a recent (see. 5.6.0+) version of perl just use scalars like so.
open(my $fh, "somefile.txt") or die("Ack - $!"); filemunger($fh); # and so on and so forth

HTH

broquaint