#!/usr/bin/perl use warnings; use strict; my %colorhash = ( CCgray => ["0","0","0"], CCwhite => ["1","0","0"], CCgrey => ["0","2","0"], CCBlue => ["0","0","3"]); foreach my $colorname (keys %colorhash) { for my $i (0.. $#{ $colorhash{$colorname} } ) { print "$i = $colorhash{$colorname}[$i] "; } print "\n"; } my @light2dark = sort numsort (keys %colorhash); sub numsort { $colorhash{$a}[0] <=> $colorhash{$b}[0] or $colorhash{$a}[1] <=> $colorhash{$b}[1] or $colorhash{$a}[2] <=> $colorhash{$b}[2] }