in reply to Table shuffling challenge
Some ideas:
- keep all lines in memory (110,000 x 11 doesn't seem too big)
- avoid splice() and other list operations
- creative use of pack()/unpack()?
- try this: shuffle columns (1..10, but not 0) once (List::Util) for each row;
then perform operations for one column after another (fixed index: 1..10)
- maybe combine shuffle and looping for each row with a suitable buffer, so you need to
visit all 110,000 rows only once?
HTH