http://qs321.pair.com?node_id=450892


in reply to unsorted list

You can use rand within the sort code.

@stuff = qw[ cat dog pig cow ]; print "$_\n" for sort { rand() <=> rand() } @stuff

Update. I have the (theoretical) feeling that this trick may cause an infinite loop when used with a large array, but a few tests I did returned nothing suspicious.

HTH

Replies are listed 'Best First'.
Re^2: unsorted list
by merlyn (Sage) on Apr 24, 2005 at 13:32 UTC
    In older Perl versions, inconsistent results from the sort block could produce core dumps or duplicated values. I don't believe modern Perl ever does that, but it's still not a way to get a fair sort.

    -- Randal L. Schwartz, Perl hacker
    Be sure to read my standard disclaimer if this is a reply.

Re^2: unsorted list
by Roy Johnson (Monsignor) on Apr 24, 2005 at 12:55 UTC