I think you're forgetting that my produces a lexical variable that isn't attached to a package namespace.
That being the case, (and I'm agreeing with you) why does
this work?
use Inline::Files;
use Data::Dumper;
open CACHE or die $!; # read access (uses $CACHE to locate file)
eval join "", <CACHE>;
close CACHE or die $!;
print "\$var was ’$var’\n";
while (<>) {
chomp;
$var = $_;
print "\$var now ’$var’\n";
}
open CACHE, ">$CACHE" or die $!; # write access
print CACHE Data::Dumper->Dump([$var],['var']);
close CACHE or die $!;
__CACHE__
$var = 'old value';
That's ripped right from the man page for
Inline::Filss and it works! Try it!
Peter L. Berghold -- Unix Professional
Peter -at- Berghold -dot- Net; AOL IM redcowdawg Yahoo IM: blue_cowdawg