It's not clear from your post what exactly you are trying to do, but I think I have some idea. Is there any reason why something like the following isn't good enough?
$hash{'companies'}{'microsoft'}{'people'}{'steve ballmer'} = 'bills bu
+lldog';
$hash{'companies'}{'cross over'}{'supports'} = ['iTunes', 'photo shop'
+];
That is, as opposed to:
add_to_hash(\%hash,'scalar','companies-microsoft-people-steve ballmer'
+,'bills bulldog');
add_to_hash(\%hash,'list','companies-cross over-supports','iTunes','ph
+oto shop');
I'm also not sure what you wanted to accomplish with
\$hashref = $%hashref{foobar}, but I think it's wrong in too many ways to even list.
-driver8