BTW, I suppose Fisher_Yates is good enough, but my own favorite has always been to prepend a random number to the string (default output of rand() is between 0.0 and 0.999...), then sort, then remove the random number.
Not only is it good enough, it's also a lot more efficient and scalable.
The Fisher_Yates algorithm is an inline sort, swapping array elements. Your solution first alters all elements, then sorts it, assigns the result of the sort to an array, after which you remove the string. I have not benchmarked it, but it sounds like a slow procedure - which may still be very useful for small arrays.
my @cols = split(/,/);
That's not CSV parsing. CSV isn't just comma-seperated, the format also supports quoted strings and escaping of quotes with other quotes. See Re (tilly) 1: csv output.
U28geW91IGNhbiBhbGwgcm90MTMgY
W5kIHBhY2soKS4gQnV0IGRvIHlvdS
ByZWNvZ25pc2UgQmFzZTY0IHdoZW4
geW91IHNlZSBpdD8gIC0tIEp1ZXJk
In reply to Re: Re: Randomize CSV word lists
by Juerd
in thread Randomize CSV word lists
by Grendel2112
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |