If you want to keep a shuffle persistent, I would supply the "shuffle order" as a config file and also allow the option of easily creating a new shuffle:
use strict; use List::Util 'shuffle'; use GetOpt::Long; GetOptions( ... ); my @items = get_all_items; my @shuffle = shuffle 0..$#items; if ($save_shuffle_sequence) { open my $fh, ">", $save_shuffle_sequence or die "Couldn't save shuffle sequence to '$save_shuffle_seque +nce': $!"; print {$fh} "@shuffle"; }; if ($load_shuffle_sequence) { open my $fh, "<", $load_shuffle_sequence or die "Couldn't load shuffle sequence from '$load_shuffle_seq +uence': $!"; @shuffle = map { split /\s+/ }, <$fh>; }; my @shuffled_items = @items[ @shuffle ]; my @other_items_shuffled_in_parallel = @other_items[ @shuffle ];
In reply to Re: A reproducible shuffle? ("stable shuffle")
by Corion
in thread A reproducible shuffle? ("stable shuffle")
by AK108
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |