in reply to Perl Hashes / Accessing data

$data{$sub_alias}{$topic_sub}{$id}{ 'URL' } = 'my_url';
creates a %data-hash (not a $data reference to a hash - I hope you know what I mean).

So do get to get to the $id-values you do need to get rid of the "->":

foreach $tmp_sa (@foo) { foreach $t (@bar)..... { foreach ( keys %{$data{$tmp_sa}{$t}} ) { print "$data{$tmp_sa}{$t}{$_}{'URL'}\n"; } }