# from Julian Mehnle
# on Tuesday 28 November 2006 10:44 am:

>The 'Global symbol "$VAR1" requires explicit package name' message is
> the recurring pattern.

>A user of my package found out that the problem could be avoided by
>changing _build/build_params to say '$main::VAR1' instead of '$VAR1'.
>   Again, I couldn't reproduce it myself.

This sounds like a Data::Dumper issue of some sort.  My build_params 
doesn't have "$VAR =".  Anyway, the choke point appears to be:

  my $ref = eval do {local $/; <$fh>};

I'm not seeing any changes to that construct in recent (since 
r4079) history.

But, it appears that $Data::Dumper::Terse = 0 causes it to emit output 
which doesn't pass strict, so I'm guessing Build.PL ran with an old 
M::B version, then CPAN upgraded M::B and the existing build_params 
caused the trip-up.  Or, is there something weird happening with the 
Makefile.PL dance?

Safe to just do this?
  my $ref = do {no strict qw(vars); eval do { local $/; <$fh>}};

Though I'm not seeing where the params got dumped with the leading 
"$VAR=" bit, so I have to wonder if it was something in CPANPLUS or 
some odd situation on that box.

--Eric
-- 
But as soon as you hear the Doppler shift dropping in pitch, you know
that they're probably going to miss your house, because if they were on
a collision course with your house, the pitch would stay the same until
impact. As I said, that's one's subtle.
--Larry Wall
---------------------------------------------------
    http://scratchcomputing.com
---------------------------------------------------

Reply via email to