sub f { ($a=shift)=~s/_/[^$a]/g;grep/^$a$/i,@{$_[0]} #23456789_123456789_123456789_123456789_1234 } #### sub g { shift;for(@{+shift}){s/[@_]//g;$c{$_}++for split//}(sort{$c{$b}<=>$c{$a}}%c)[0] #23456789_123456789_123456789_123456789_123456789_123456789_123456789_123456789 } #### sub g { shift;for(@{+shift}){s/[@_]//g;$b||=chop}$b #23456789_123456789_123456789_123456789_123 }