Bah. Just place some jokes and you will get a lot of +'s . Not significant
BTW you should like this alternative, based on simple String* funcs only
#Include <Array.au3>
Global $master = "Z", $text[5] = ["A", "B", "C", "D", $master], $s = ""
_LetsGo("")
$a = StringSplit(StringTrimRight($s, 1), "|", 2)
_ArrayDisplay($a)
Func _LetsGo($string)
For $i = 0 to UBound($text)-1
If not StringInStr($string, $text[$i]) Then
$tmp = $string & "," & $text[$i]
If StringInStr($tmp , $master) and StringLen($tmp)>2 Then
$s &= StringTrimLeft($tmp, 1) & "|"
EndIf
_LetsGo($tmp)
EndIf
Next
EndFunc