No bug, just a simple coding error :-) If you used better varnames than $i and $j it would be more obvious. Just a thought.
for $i (keys %data) { push (@ips, $i); for $j (keys %{$data{$i}{ports}}) { # push (@names, $data{$i}{cname}); # <--wrong push (@names, $data{$i}{$j}{cname}); } } # compare that with this code that uses logical names # if also uses my to localise variable scope, strict compliant too for my $ip (keys %data) { push @ips, $ip; for my $port ( keys %{$data{$ip}->{ports}} ) { push @names, $data{$ip}->{$port}->{cname}; } }
I recommend that you add this code to check your data structure after you build %data from the file (if you were using CGI::Simple you could just call the dump() method :-) but anyway:
# make %data require Data::Dumper; print $q->header; print $q->escapeHTML(Dumper(\%data)); exit;
This will tell you if you have the correct data structure. I will tell you now with your current code you won't. I suspect there may be some serious logic errors in it. If you post a sample of the file I'll give you a hand to parse it into a logical data structure.
tachyon
s&&rsenoyhcatreve&&&s&n.+t&"$'$`$\"$\&"&ee&&y&srve&&d&&print
In reply to Re: Possible Bug?
by tachyon
in thread DBI script runs from command line, not from CGI
by dru145
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |