In playing with threads, the only way I've found to share a complex object is to do something like: my %data : shared; my %hash : shared; $data{hash} = \%hash; I'd rather do use anonymous hashes like: my $data : shared = {}; But it doesn't (seem) to work. How do you construct and share a complex variable? Thanks Jay