I use
Set::Scalar and it really fits the way I think (my mathematical background taught me treat set operations as the basic 'atomic' functions). There is also
Set::Bag if your lists are really multi-sets (i.e. can contain the same element multiple times).