Version 1.9 of Randomize
NAME
Randomize - Perl extension for randomizing things.
SYNOPSIS
use Randomize;
my $randomizer = Randomize->new(\@rules);
print "There are ", $randomizer->permutations(),
" different possible outcomes.\n";
while (1) {
my $random_hash = $randomizer->generate();
}
DESCRIPTION
This packages takes a set of randomization rules in the form of an array reference, and creates random hashes on request based on the rules given.
I know that doesn't make sense, so here's an example.
my @randomizer_rules =
[ {Field => 'Street',
Values => [{Data => ['Preston', 'Hillcrest'],
Weight => 1},
{Data => ['Coit'],
Weight => 2}]},
{Field => 'Number',
Values => [18100..18299]}
};
my $randomizer = Randomize->new(\@randomizer_rules);
while (1)
my $hashref = $randomizer->generate();
}
Each time through the loop, $hashref contains a reference to a hash. That hash contains two fields, "Street", and "Number". "Street" will be "Coit" about half the time, and evenly split between "Preston" and "Hillcrest" the rest of the time. "Number" is a number from 18100 to 18299.
INSTALLATION
perl Makefile.PL
make
make test
make install
Note that during "make test", I try to verify that Randomize is, indeed, generating random hashes. Occasionally, the results for a given "make test" may be a little skewed because of the vagaries of random number generation. So, if one of those test cases fails, just re-run "make test" and see if it happens again.
AUTHOR
Brand Hilton <bhilton@pobox.com>
COPYRIGHT
Copyright (c) 2001, Brand Hilton. All Rights Reserved.
This module is free software. It may be used, redistributed
and/or modified under the same terms as Perl itself.
CHANGES FROM VERSION 1.7 TO VERSION 1.9
Added permutations() method
Fixed a bug that would cause problems if you used both varieties of Retry_If at the same time
Documentation updates
AVAILABILITY
Randomize is available on CPAN.