sub BackAndForth {
my ($filename) = @_;
# make multi-dimensional hash here ... it looks like
# $ALLDATA{$filename}{$key1}{$key2}{$key3} = [@array]
return (%ALLDATA);
}
my %ExternalHash = &BackAndForth('filename.csv');
%ExternalHash = &BackAndForth('filename2.csv');
####
%ALLDATA = (
'key1' => HASH(0x9021f6c)
'key2' => HASH(0x90154a8)
'key3' => ARRAY(0x9015400)
0 value1
1 value2
####
%thisDataset = (
'' => HASH(0x876f324)
'key2' => HASH(0x9029220)
empty hash)
####
return(\%ALLDATA)
%external = (yadda yadda)
or
$external = (blah ...