in reply to How to localize conditionally?
You could use goto or the blockless version of if:
local $ENV{BLAH} = 42 if $DO_MAGIC; libcall();
or
goto LIBCALL if (! $DO_MAGIC); local $ENV{BLAH} = 42; LIBCALL: libcall();
In Section
Seekers of Perl Wisdom