#!/usr/bin/env perl use strict; use warnings; use List::Util 'shuffle'; use List::MoreUtils qw(natatime); use feature qw(say); my $iterator = natatime 5, shuffle( 1 .. 50 ); my $count = 1; while ( my @five = $iterator->() ) { say join " ", @five; $count++; last if $count > 5; } __END__ karls-mac-mini:monks karl$ ./1115111.pl 30 26 3 46 23 10 45 47 1 39 8 11 19 49 36 15 22 29 37 18 13 50 44 25 42 #### my $iterator = natatime 5, shuffle( 1 .. 50 ); my @takatakina = map { [ $iterator->() ] } 1 .. 5; say join " ", @{$_} for @takatakina;