Hi
Find the right scope and tickle ${^WARNING_BITS}?
$ perl -l #!/usr/bin/perl -- use strict; use warnings; use diagnostics; sub switch { no warnings 'exiting'; while (@_) { my ($case, $action) = splice @_,0,2; return $action->($case) if $_ ~~ $case; } } no warnings 'exiting'; switch [1,2,3] => sub { print "bla" ; next}, 3 => sub { print "bla2" } for (3); use warnings 'exiting'; switch [1,2,3] => sub { print "bla" ; next}, 3 => sub { print "bla2" } for (3); use warnings 'exiting'; switch [1,2,3] => sub { no warnings 'exiting'; print "bla" ; next}, 3 => sub { no warnings 'exiting'; print "bla2" } for (3); __END__ bla bla2 bla Exiting subroutine via next at - line 23 (#1) (W exiting) You are exiting a subroutine by unconventional means, +such as a goto, or a loop control statement. bla2 bla bla2
In reply to Re: Disabling runtime warnings in dynamic scope? (no warnings 'exiting'; use warnings 'exiting';
by beech
in thread Disabling runtime warnings in dynamic scope?
by LanX
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |