in reply to array shuffle

The only thing random about manually shuffling a deck of cards is that we humans do it imperfectly. The ideal shuffle splits a deck in half and then interleaves the two halves. This is the basis of many "magic" card tricks: good shuffling.

I realize this is just a programming exercise but you still need to decide if you're trying to randomize the deck or modeling an ideal (non-random) shuffle.

There's a lot of theory surrounding shuffling and random but I fail to see the need to do an in place shuffle for a deck of cards unless you do it a LOT. Same goes for random, perl's would seem to be good enough for your needs but I wouldn't start a real money blackjack web site without something better.