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