sub f{ #23456789_123456789_123456789_123456789_123456789_123456789_123456789_12345 %h=@_;$h{$_}||=[]for map@$_,values%h;sort{-1+2*grep$_ eq$b,@{$h{$a}}}keys%h } #### my @list = ( a => ['b'], b => ['c'], c => ['d'], d => ['e'], );