sub inclusive { my ($big, $little) = @_; $big =~ join( '', map { "(?=.*" . join('.*', @$_) . ")" } map { ++$i & 1 ? [ map quotemeta, split // ] : () } join('', sort split //, $little) =~ /((.)\2*)/gs; ); }