in reply to uninitialized value loading into hash and printing

Terse shouldnt be used in anything other than a diagnostic context. Useqq reduces the performance of your code (with certain Win32 related caveats). You dont have Purity set. The way you are dumping is at face value incorrect, and even if its deliberate is extremely prone to greivous error.

Better to do something like:

print DATAFILE Data::Dumper->new([\%some_hash],[qw(some_hash)]) ->Purity(1) ->Terse(0) ->Indent(1) ->Useqq(0) ->Dump();

And then eval it into existance. Although in some conditions this is a security concern, in which case I suggest you use YAML.

Essentially your problem is that you are trying to use a hammer to do a firehoses job. Dumper is for dumping data structures in perl code. YAML is about dumping data structures in human readable, language independent, and eval safe ways. The two purposes are very different indeed.


---
demerphq

<Elian> And I do take a kind of perverse pleasure in having an OO assembly language...