> Dan Muey wrote:
> > Howdy all.
> >
> > I have the need to turn off strict refs for one line.
> > I want to make sure strict refs is back on afterward.
> >
> > if(...) {
> > no strict 'refs';
> > ...use refs here...
> > use strict 'refs';
> > }
> >
> > Is that how I turn them back on or ???
> > (I think all 'use's get done before anything else so it would be 
> > pointless to have it there? )
> >
> > Or does the no strict 'refs' apply only within it's own 
> block so after 
> > I'm out of that if{} statement strict refs are back on?
> 
> Hi Dan.
> 
> 'Yes' to your last sentence. Has anybody said that yet?
> 
> The use/no for a pragma applies only to its containing
> block (or file). (It's very non-Perl to explain why, so I
> won't.) Check out
> 
>   use strict;
> 
>   our $a = 99;
>   my $n = 'a';
> 
>   {
>     no strict 'refs';
>     print $$n, "\n";
>   }
> 
>   print $$n, "\n";
> 
> 
> will error only on the second 'print' statement. It's 
> immaterial whether the block is controlled by an 'if', 
> 'while', 'for' etc.
> 
> HTH,

Yup, that helps a lot, (as usual ;p) thanks!
Dan

> 
> Rob

--
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to