# 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
---------------------------------------------------