Darren,

How about adding an optional parameter to return
either matching or non-matching elements ?

I took the freedom to code something for ya
(kinda boring here today [Wink] )



break on

$arr1 = a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z
$arr2 = 1,2,3,4,f,g,a,34,42,23,c,z,o,r


"results for arraycomp(); elements that doesn't match:" ? ?
for each $e in arraycomp($arr1$arr2)
    $e ?
next

"results for arraycomp(); matching elements:" ? ?
for each $e in arraycomp($arr1$arr21)
    $e ?
next

get $

;slightly adapted version (not perfect, room for improvement  [Wink]  )

function arraycomp($a1$a2optional $m)
    dim $s$o
    If $m $o = ">" else $o = "=" endif
    for each $n in $a2
        $!=execute("if ascan($$a1,$$n) $o -1
                        $$s = $$s + ' ' + $$n
                    endif
                   "
)
    next
    $arraycomp = split($s)
endfunction


J.

[ 25. February 2003, 13:07: Message edited by: jpols ]
_________________________