Instead of thinking 'picking unique numbers in a range', think 'dealing cards from a deck.'
The List::Util module has a good (fast and suitably random) array shuffler, and then three simple pops or shifts will give you the first three choices.
-- [ e d @ h a l l e y . c c ]
Comment on Re: Select three random numbers between 1..10