in reply to Help tightening up a subroutine please

24 next unless defined %{$matches{$fasta_id}}; 38 last unless defined @{$matches{$fasta_id}{$site}}; 51 next unless defined @{$matches{$fasta_id}{$sitekey}} +; 91 unless (defined @{$sets{$fasta_id}}) {
From the man page for defined:
Use of "defined" on aggregates (hashes and arrays) is deprecated. It +used to report whether memory for that aggregate has ever been alloca +ted. This behavior may disappear in future versions of Perl. You should instead + use a simple test for size: if (@an_array) { print "has array elements\n" } if (%a_hash) { print "has hash members\n" }