in reply to Probelm with priority printing (hash or by an array)


The Perl hast How-To may be of use. A hash of arrays would solve the problem of having a hash of priorities with multiple diseases each having the same priority. But, an array of arrays would as well.

What's in the database? Knowing how that data is presented might be helpful.


I think I might have a better idea of what you're looking for. You could try something like this:

#!/usr/bin/perl -w use strict; my @diseases = (); $diseases[0] = ['flu','cold']; $diseases[1] = ['Diabetics']; $diseases[2] = ['Typhoid']; $diseases[3] = ['Measels']; for(my $priority = 0;$priority < scalar(@diseases);$priority++){ print "Priority $priority diseases:\n"; foreach(@{$diseases[$priority]}){ print "\t$_\n"; } }
which produces output like this:
Priority 0 diseases: flu cold Priority 1 diseases: Diabetics Priority 2 diseases: Typhoid Priority 3 diseases: Measels
but within that inner foreach loop, run a query; something like "SELECT * WHERE disease_name = $_" and format and print the results as needed.

EDIT #2: Just noticed; you need to add 1 to $priority when printing to make it display properly, since your priority list starts with '1' and not '0'.