I have tripped over bugs when using IO::* that I didn't
with regular IO. Don't remember the combination of
things that hit it, but procedural IO worked and
the other did not.
If you want lexical filehandles use the technique that I
did at RE (tilly) 1: Merging files. Or with 5.6 don't worry
about it because handles autovivify for you. (Just part of
the ongoing improvements. :-)