If a picture is worth 1000 words, maybe an example is, too:
use strict;
use warnings;
my %dict = ( foo => [ 'foo', 'is', 'not', 'bar' ],
bar => [ 'bar', 'is', 'not', 'foo' ] );
# push a ref to the array given by $dict{bar} onto the array given by
+$dict{foo}
push( @{ $dict{foo} }, \@{ $dict{bar} } );
my $wordbar = ${ $dict{foo} }[3];
# accessing the definition for bar can be done through the ref, but al
+so directly
print join( ' ', ${ $dict{foo} }[4], '=', $dict{$wordbar} ), "\n";
print join( ' ', ${ $dict{foo} }[3], '=', @{ $dict{ ${ $dict{foo} }[3]
+ } } ), "\n";
print join( ' ', ${ $dict{foo} }[3], '=', @{ $dict{$wordbar} } ), "\n"
+;
print join( ' ', ${ $dict{foo} }[3], '=', @{ ${ $dict{foo} }[4] } ), "
+\n";
If this really isn't what you're trying to do, please provide more information and we'll try to help.