Combining Jens and Howard's solutions

This code uses direct indexing to the Split() function, as in Jens's example,
i implemented this in Howard's code.

Gets the KixGolf score down to 259

code:
dim $c[256]
$z="%tmp%\computers.ini"
$A=split(ReadProfileString($z,"",""),chr(10))
for each $h in $A
If $h
$i=Split(ReadProfileString($z,$h,"IP"),".")[3]
$c[$i]=$h
EndIf
next
for $j=1 to 15
for $h=0 to 255
if len($c[$h])=$j
$q='$q"'+$c[$h]+'",'
endif
next
next
$q=$q+'""'
execute('$$r=$q')

-Erik

ps.
I just found this post before i posted my own 'discovery': That you can access array members
directly from the Split() function, so i won't post this as a separate post.

My own use was:
Get short name for OS (Second word in @ProductType)
code:
$ShortOS = Split(@ProductType)[1]