Secret Santa Challenge
k (29 20 chars)

{i!(1_i),*i:(-#x)?x}



    {i!@[i:(-:#x)?x;,/|2 0N#!#x]}

Example

k){i!(1_i),*i:(-#x)?x}`person1`person2`person3`person4`person5
person2| person1
person5| person3
person4| person2
person1| person5
person3| person4


Explanation - as above, shuffles list and maps to rotation of itself.