in reply to Complex Hash of Hashes Data Structure

This line is definitiely problematic:

$hash{$counter}{'url'} = push @{$fields},$url

...because push has a return value of the number of elements in @{$fields} after $url is pushed. I'm not exactly sure what you're after, but I know that you're misusing push, and getting unexpected results.

I suspect you're after something more like this:

push @{ $hash{$counter}{url} }, $url;

Dave