in reply to Grouping Objects by Attribute
Or array / hash, if you need to be able to do more than just run through each set of monks:my (@monks); while (<DATA>) { chomp; split(/ /); push(@{$monks[$_[1]]}, $_[0]); } mysub($_) for @monks; sub mysub { print join(' ', sort(@$_)) . "\n"; } __DATA__ monk1 2 monk2 5 monk3 8 monk4 4 monk5 1 monk6 5 monk7 3 monk8 7 monk9 7
A hash would enable you to quickly check for specific monks inside each set.my (@monks); while (<DATA>) { chomp; split(/ /); $monks[$_[1]]{$_[0]} = (); } mysub($_) for @monks; sub mysub { print join(' ', sort(keys %$_)) . "\n"; } __DATA__ monk1 2 monk2 5 monk3 8 monk4 4 monk5 1 monk6 5 monk7 3 monk8 7 monk9 7
|
|---|