Bit fluy and unable to sleep I sat up and hacked out Games::Set. Along the way I made a wonderful discovery which had a most kinderworthy surprise and toy.
The toy was Algorithm::ChooseSets, which was just perfect for the "I have these cards, what sets are possible" question. The surprise was that I knew the author, Brain Duggan.
I worked briefly with Brian on a project from hell back when he was drafted in from the New York office, and we've met a few times since, but I didn't really expect to be picking his module out of the blue.
The module is cool, if you ever need to identify all the possible n-sized subsets of some larger set then Algorithm::ChooseSets is going to be the one for you.