http://qs1969.pair.com?node_id=1026688


in reply to Re^4: File::Random module (Path::Iterator::Rule)
in thread File::Random module

Use the iterator with a while loop and just keep a count (or array) of the number of randomly selected files. Use last when you have enough. Or, if you run out of files, re-generate the iterator.

For what it's worth, you can even put the randomness into the iterator:

my $rule = Path::Iterator::Rule->new->file->and(sub { rand() < 0.1 });

I just shipped PIR 1.005 to CPAN to fix broken tests on Windows.

-xdg

Code written by xdg and posted on PerlMonks is public domain. It is provided as is with no warranties, express or implied, of any kind. Posted code may not have been tested. Use of posted code is at your own risk.