in reply to Re: "Variable will not stay shared" warning
in thread "Variable will not stay shared" warning

Yeha. That was just what I needed. Now I get it. What was happening was that, for some reason that now eludes me, I had written one subroutine inside another. %Params got made in the outer sub. Like a good boy, I was passing arguments from the outer to the inner, even though the inner was within the scope of the outer. BUT, although I passed \%Params so that in the inner sub I did my $Params = shift; I was getting values out of it by $Params{MyKey}. If I'd put the inner sub outside the outer sub, I would have got an error, because %Params wd have been undefined; but in fact, it just assumed I was being lazy and not passing the argument. But still gave me a warning to help me see the error of my ways. Now when I do $Params->{MyKey} the error goes away. A spoonful of sugar helps the medicine go down, as they say. Thanks.

§ George Sherston