Beefy Boxes and Bandwidth Generously Provided by pair Networks
Just another Perl shrine

How do I select a random element from an array?

by faq_monk (Initiate)
on Oct 08, 1999 at 00:20 UTC ( #617=perlfaq nodetype: print w/replies, xml ) Need Help??

Current Perl documentation can be found at

Here is our local, out-dated (pre-5.6) version:

Use the rand() function (see rand):

    # at the top of the program:
    srand;                      # not needed for 5.004 and later

    # then later on
    $index   = rand @array;
    $element = $array[$index];

Make sure you only call srand once per program, if then. If you are calling it more than once (such as before each call to rand), you're almost certainly doing something wrong.

Log In?

What's my password?
Create A New User
and the web crawler heard nothing...

How do I use this? | Other CB clients
Other Users?
Others lurking in the Monastery: (9)
As of 2016-10-28 11:52 GMT
Find Nodes?
    Voting Booth?
    How many different varieties (color, size, etc) of socks do you have in your sock drawer?

    Results (383 votes). Check out past polls.