Avoid undefined warning for empty files in all_pl_files

Hey! I ran into a weird case at work where Test::Compile triggers a warning. I tracked it down to a potential pl file that was actually empty: reading the first line returned an undef, which triggered ```Use of uninitialized value $line in pattern match (m//) at lib/Test/Compile/Internal.pm line 361.``` in _read_shebang.

Let me know if there's anything you'd like me to change. You can remove the "use Test::Warnings" if you'd like; that was just to verify that my fix actually works.

Cheers!