sub e{$a=$_;eval"\$a=~y/\Q$_\E/\0-~/";$a} sub c{ ($_,$m,$n,$a,$d)=@_; map{$x=e; $_,[grep{e eq$x}@$d] }/\b[^ ]{$m,$n}\b/g } #### map{$x=e;$_,[grep{e eq$x}@{$_[4]}]} " $_[0] "=~/ ([^ ]{$_[1],$_[2]})(?= )/g #### map{$x=e;$_,[grep{e eq$x}@{$_[4]}]} grep{/^.{$_[2],$_[3]}$/s}$_[0]=~/[^ ]+/g