in reply to Disabling runtime warnings in dynamic scope?
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
|
---|
Replies are listed 'Best First'. | |
---|---|
Re^2: Disabling runtime warnings in dynamic scope? (no warnings 'exiting'; use warnings 'exiting';
by LanX (Saint) on Apr 25, 2018 at 23:13 UTC | |
by beech (Parson) on Apr 25, 2018 at 23:16 UTC | |
by LanX (Saint) on Apr 26, 2018 at 00:06 UTC | |
by LanX (Saint) on Apr 25, 2018 at 23:37 UTC | |
by beech (Parson) on Apr 25, 2018 at 23:50 UTC | |
by LanX (Saint) on Apr 26, 2018 at 00:00 UTC | |
by LanX (Saint) on Apr 25, 2018 at 23:25 UTC |
In Section
Seekers of Perl Wisdom