In the "Directory to Data Structure" thread, there's been some
talk of a value which is a list *and* a hash, so you can have
a structure like
$dirstruct{'mydir'}->['file1.txt', 'file2.txt']
$dirstruct{'mydir'}->{'anotherdir'}->['file3.txt', 'file4.txt']
and there was talk of tie().
But really there's a much easier way to do it:
local *mydir;
@mydir = qw(file1.txt file2.txt);
%mydir = (anotherdir => [qw(file3.txt file4.txt)]);
my $dirstruct = {mydir => *mydir};
$,=", "; $\="\n";
print @{$dirstruct->{mydir}};
print @{$dirstruct->{mydir}->{anotherdir}};
or if you're offended by dynamic scoping,
use Symbol 'gensym';
my $mydir = *{gensym};
@$mydir = qw(file1.txt file2.txt);
%$mydir = (anotherdir => [qw(file3.txt file4.txt)]);
my $dirstruct = {mydir => $mydir};
$,=", "; $\="\n";
print @{$dirstruct->{mydir}};
print @{$dirstruct->{mydir}->{anotherdir}};
.robin.
--
Beware. The paranoids are watching you.