use strict; my %cat; $cat{'bird',0} = 'bluejay'; $cat{'bird',1}= 'oriole'; $cat{'mammal',0} = 'cat'; $cat{'mammal',1} = 'dog'; for (sort keys %cat) { my ($class, $num) = split $;; print "cat[$class][$num] = $cat{$_}\n"; }