in reply to Simulating Drawing From A Bag

The Tie::Pick module seems also to do what you want:
use Tie::Pick; tie my $pick_from_bag, 'Tie::Pick', (1 .. 10); while (defined(my $element = $pick_from_bag)) { print $element, "\n"; }

Greetings,
Janek