in reply to nested hashes and their usage e.g $foo{bar}{baz}
Another way to find out what is in mystery structures is to use the debugger. run the program with -d ie
perl -d foo.pl
put in a breakpoint at the lines in question ie
b 15 (where line 14 was your $srciphash{$srcip}{$dstip} = 1;
c (continue till the breakpoint)
print @srciphash - will show you that it contains a pointer not normal data.
x @srciphash shows the structure and what the structure contains.
Hope this helps.