in reply to Why did this error slip through?

Interestingly the filehandle _ gets stringified but a conventional file handle (stringified as a GLOB) can be used as a hash key:
open(my $fh, $0) or die $!; $gash{$fh} = 'some value'; stat($0); $gash{*_} = 'some value'; print Dumper(\%gash); $VAR1 = { '*main::_' => 'some value', 'GLOB(0x18ab6ac)' => 'some value' };
Of course just because it is legal does not mean it is necessarily a good idea.
use strict; use warnings; can never catch all errors, just that you will catch more with them than without.