Thank you. After reading your reply, I realized that I really just needed a random number generator that could be seeded and that would not interfere with the builtin rand(). I looked at
Math::Random, but ended up settling on
Math::Random::MT. I ran some tests of the shuffle algorithm (to check the distribution of the permutations it would produce) with it in place in the Fisher-Yates shuffle algorithm and a set of seeds that were sequential, and it did a good enough job for this application.