# 39 chars sub f { #23456789_123456789_ my($p,$d)=@_;$p=~tr /_/./;grep/^$p$/,@$d } #### # 60 chars sub f { #23456789_123456789_123456789_ my($p,$d)=@_;my@c=$p=~/[^_]/g; $p=~s/_/[^@c]/g;grep/^$p$/,@$d } #### # 123 chars sub g { #23456789_123456789_123456789_123456789_12 my($p,$d,@l)=@_;$p=~s/_/[^@l]/g;$_=join'' ,sort+map{split//}grep/$p/i&&s/[@l]//g,@$d ;$p=y;;;c;/(.)\1{$p}/&&return$1while--$p }