Perl Security: 3. Reporting warnings Lexically scoped warnings Warnings declarations will only affect the block they are declared in. Quoting 'perldoc perllexwarn': use warnings ; time ; { use warnings FATAL => qw(void) ; length "abc" ; } join "", 1,2,3 ; print "done\n" ; When run it produces this output Useless use of time in void context at fatal line 2. Useless use of length in void context at fatal line 5. This means, it dies only on the second report.