thanks for the suggestion arperry
sadly, I need to avoid duplicates in my random list - I could do this by using a conditional loop with <cfif> tags to make sure no duplicates appear. Something like:
<CFSET oldList = "1,2,3,4,5,6,7,8,9">
<CFSET newList = "">
<CFLOOP Condition = "ListLen(myList, ","

LT ListLen(oldList, ","

">
<CFSET randPos = RandRange(1,ListLen(oldList, ","

)>
<CFSET randVal = ListGetAt(oldList,randPos, ","

>
<CFIF ListContains(newList, randVal, ","

IS 0>
<CFSET newList = ListAppend(newList, randVal, ","

>
</CFIF>
</CFLOOP>
This would probably do the trick but I'm concerned that it would slow down the page due to the uncertain length of the loop. I may have to go with this unless there are any more elegant ways of doing this
Neil