Provided by: libdata-random-perl_0.13-1_all bug

NAME

       Data::Random - Perl module to generate random data

SYNOPSIS

         use Data::Random qw(:all);

         my @random_words = rand_words( size => 10 );

         my @random_chars = rand_chars( set => 'all', min => 5, max => 8 );
         my $string       = rand_chars( set => 'all', min => 5, max => 8 );

         my @random_set = rand_set( set => \@set, size => 5 );

         my $random_enum = rand_enum( set => \@set );
         my $random_enum = rand_enum( \@set ); # shortcut

         my $random_date = rand_date();

         my $random_time = rand_time();

         my $random_datetime = rand_datetime();

         open(my $file, ">", "rand_image.png") or die $!;
         binmode($file);
         print $file rand_image( bgcolor => [0, 0, 0] );
         close($file);

DESCRIPTION

       A module used to generate random data.  Useful mostly for test programs.

METHODS

   rand_words()
       This returns a list of random words given a wordlist.  See below for possible parameters.

       •   wordlist - the path to the wordlist file.  On Debian systems one can be found at
           /usr/share/dict/words.  You can also optionally supply a Data::Random::WordList object
           to keep a persistent wordlist.  The default is the wordlist distributed with this
           module.

       •   min - the minimum number of words to return.  The default is 1.

       •   max - the maximum number of words to return.  The default is 1.

       •   size - the number of words to return.  The default is 1.  If you supply a value for
           'size', then 'min' and 'max' aren't paid attention to.

       •   shuffle - whether or not the words should be randomly shuffled.  Set this to 0 if you
           don't want the words shuffled.  The default is 1.  Random::Data::WordList returns
           words in the order that they're viewed in the word list file, so shuffling will make
           sure that the results are a little more random.

   rand_chars()
       When called in a list context this returns a list of random characters given a set of
       characters.  In a scalar context it returns a string of random characters.  See below for
       possible parameters.

       •   set - the set of characters to be used.  This value can be either a reference to an
           array of strings, or one of the following:

               alpha        - alphabetic characters: a-z, A-Z
               upperalpha   - upper case alphabetic characters: A-Z
               loweralpha   - lower case alphabetic characters: a-z
               numeric      - numeric characters: 0-9
               alphanumeric - alphanumeric characters: a-z, A-Z, 0-9
               char         - non-alphanumeric characters: # ~ ! @ $ % ^ & * ( ) _ + = - { } | : " < > ? / . ' ; ] [ \ `
               misc         - same as 'char'
               all          - all of the above

       •   min - the minimum number of characters to return.  The default is 0.

       •   max - the maximum number of characters to return.  The default is the size of the set.

       •   size - the number of characters to return.  The default is 1.  If you supply a value
           for 'size', then 'min' and 'max' aren't paid attention to.

       •   shuffle - whether or not the characters should be randomly shuffled.  Set this to 0 if
           you want the characters to stay in the order received.  The default is 1.

   rand_set()
       This returns a random set of elements given an initial set.  See below for possible
       parameters.

       •   set - the set of strings to be used.  This should be a reference to an array of
           strings.

       •   min - the minimum number of strings to return.  The default is 0.

       •   max - the maximum number of strings to return.  The default is the size of the set.

       •   size - the number of strings to return.  The default is 1.  If you supply a value for
           'size', then 'min' and 'max' aren't paid attention to.

       •   shuffle - whether or not the strings should be randomly shuffled.  Set this to 0 if
           you want the strings to stay in the order received.  The default is 1.

   rand_enum()
       This returns a random element given an initial set.  See below for possible parameters.

       •   set - the set of strings to be used.  This should be a reference to an array of
           strings. The "set" key will be assumed if the array reference is passed as the only
           argument.

   rand_date()
       This returns a random date in the form "YYYY-MM-DD".  2-digit years are not currently
       supported.  Efforts are made to make sure you're returned a truly valid date - ie, you'll
       never be returned the date February 31st.  See the options below to find out how to
       control the date range.  Here are a few examples:

           # returns a date somewhere in between the current date, and one year from the current date
           $date = rand_date();

           # returns a date somewhere in between September 21, 1978 and September 21, 1979
           $date = rand_date( min => '1978-9-21' );

           # returns a date somewhere in between September 21, 1978 and the current date
           $date = rand_date( min => '1978-9-21', max => 'now' );

           # returns a date somewhere in between the current date and September 21, 2008
           $date = rand_date( min => 'now', max => '2008-9-21' );

       See below for possible parameters.

       •   min - the minimum date to be returned. It should be in the form "YYYY-MM-DD" or you
           can alternatively use the string "now" to represent the current date.  The default is
           the current date;

       •   max - the maximum date to be returned. It should be in the form "YYYY-MM-DD" or you
           can alternatively use the string "now" to represent the current date.  The default is
           one year from the minimum date;

   rand_time()
       This returns a random time in the form "HH:MM:SS".  24 hour times are supported.  See the
       options below to find out how to control the time range.  Here are a few examples:

           # returns a random 24-hr time (between 00:00:00 and 23:59:59)
           $time = rand_time();

           # returns a time somewhere in between 04:00:00 and the end of the day
           $time = rand_time( min => '4:0:0' );

           # returns a time somewhere in between 8:00:00 and the current time (if it's after 8:00)
           $time = rand_time( min => '12:00:00', max => 'now' );

           # returns a date somewhere in between the current time and the end of the day
           $time = rand_time( min => 'now' );

       See below for possible parameters.

       •   min - the minimum time to be returned. It should be in the form "HH:MM:SS" or you can
           alternatively use the string "now" to represent the current time.  The default is
           00:00:00;

       •   max - the maximum time to be returned. It should be in the form "HH:MM:SS" or you can
           alternatively use the string "now" to represent the current time.  The default is
           23:59:59;

   rand_datetime()
       This returns a random date and time in the form "YYYY-MM-DD HH:MM:SS".  See the options
       below to find out how to control the date/time range.  Here are a few examples:

           # returns a date somewhere in between the current date/time, and one year from the current date/time
           $datetime = rand_datetime();

           # returns a date somewhere in between 4:00 September 21, 1978 and 4:00 September 21, 1979
           $datetime = rand_datetime( min => '1978-9-21 4:0:0' );

           # returns a date somewhere in between 4:00 September 21, 1978 and the current date
           $datetime = rand_datetime( min => '1978-9-21 4:0:0', max => 'now' );

           # returns a date somewhere in between the current date/time and the end of the day September 21, 2008
           $datetime = rand_datetime( min => 'now', max => '2008-9-21 23:59:59' );

       See below for possible parameters.

       •   min - the minimum date/time to be returned. It should be in the form "YYYY-MM-DD
           HH:MM:SS" or you can alternatively use the string "now" to represent the current
           date/time.  The default is the current date/time;

       •   max - the maximum date/time to be returned. It should be in the form "YYYY-MM-DD
           HH:MM:SS" or you can alternatively use the string "now" to represent the current
           date/time.  The default is one year from the minimum date/time;

   rand_image()
       This returns a random image.  Currently only PNG images are supported.  See below for
       possible parameters.

       •   minwidth - the minimum width of the image.  The default is 1.

       •   maxwidth - the maximum width of the image.  The default is 100.

       •   width - the width of the image.  If you supply a value for 'width', then 'minwidth'
           and 'maxwidth' aren't paid attention to.

       •   minheight - the minimum height of the image.  The default is 1.

       •   maxheight - the maximum height of the image.  The default is 100.

       •   height - the height of the image.  If you supply a value for 'width', then 'minwidth'
           and 'maxwidth' aren't paid attention to.

       •   minpixels - the minimum number of random pixels to display on the image.  The default
           is 0.

       •   maxpixels - the maximum number of random pixels to display on the image.  The default
           is width * height.

       •   pixels - the number of random pixels to display on the image.  If you supply a value
           for 'pixels', then 'minpixels' and 'maxpixels' aren't paid attention to.

       •   bgcolor - the background color of the image.  The value must be a reference to an RGB
           array where each element is an integer between 0 and 255 (eg. [ 55, 120, 255 ]).

       •   fgcolor - the foreground color of the image.  The value must be a reference to an RGB
           array where each element is an integer between 0 and 255 (eg. [ 55, 120, 255 ]).

VERSION

       0.12

AUTHOR

       Originally written by: Adekunle Olonoh

       Currently maintained by: Buddy Burden (barefoot@cpan.org), starting with version 0.06

CREDITS

           Hiroki Chalfant
           David Sarno
               Michiel Beijen

COPYRIGHT

       Copyright (c) 2000-2011 Adekunle Olonoh.  Copyright (c) 2011-2015 Buddy Burden.  All
       rights reserved.  This program is free software; you can redistribute it and/or modify it
       under the same terms as Perl itself.

SEE ALSO

       Data::Random::WordList