On Sat, 31 May 2003, Richard Evans wrote:

> > No need to use if.pm really.  Just do this:
> >
> >  BEGIN {
> >      eval 'use utf8' if $] >= 5.006;
> >  }
>
> Yeah, I thought that should work, but I knocked up a quick test:
>
>
>   BEGIN
>   {
>     eval 'use warnings' if $] >= 5.006;
>   }
>
>   use if $] >= 5.006, "warnings";
>
>   print "Unitialised: ", $a, "\n";
>
>
> If I comment out the 'use if' line, I don't get the expected "Use of
> uninitialized value in print" warning, so I'm guessing the eval won't work
> for the utf8 pragma either (scoping issue?).

Yeah, it might be scoping.  Easy enough to test.  Just do:

 {
     use warnings;
 }

 print "uninit ", $a, "\n";

And indeed, no warning.  Guess you have to use if.pm.  I wish it had a
less ridiculous version number.  I guarantee someone will balk at
installing it because "the version number is too low" or something dumb
like that.  At least it comes with 5.8.0.


-dave

/*=======================
House Absolute Consulting
www.houseabsolute.com
=======================*/

Reply via email to