Scroll to navigation

Data::Random::WordList(3) User Contributed Perl Documentation Data::Random::WordList(3)

NAME

Data::Random::WordList - Perl module to get random words from a word list

SYNOPSIS

  use Data::Random::WordList;
  my $wl = new Data::Random::WordList( wordlist => '/usr/dict/words' );
  my @rand_words = $wl->get_words(10);
  $wl->close();

DESCRIPTION

Data::Random::WordList is a module that manages a file containing a list of words.

The module expects each line of the word list file to contain only one word. It could thus be easily used to select random lines from a file, but for coherency's sake, I'll keep referring to each line as a word.

The module uses a persistent filehandle so that there isn't a lot of overhead every time you want to fetch a list of random words. However, it's much more efficient to grab multiple words at a time than it is to fetch one word at a time multiple times.

The module also refrains from reading the whole file into memory, so it can be safer to use with larger files.

METHODS

new()

Returns a reference to a new Data::Random::WordList object. Use the "wordlist" param to initialize the object:

wordlist - the path to the wordlist file. If a path isn't supplied, the wordlist distributed with this module is used.

get_words([NUM])

NUM contains the number of words you want from the wordlist. NUM defaults to 1 if it's not specified. get_words() dies if NUM is greater than the number of words in the wordlist. This function returns an array or an array reference depending on the context in which it's called.

close()

Closes the filehandle associated with the word list. It's good practice to do this every time you're done with the word list.

VERSION

0.12

AUTHOR

Originally written by: Adekunle Olonoh

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

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

2018-04-19 perl v5.40.0