in reply to Re: Select three random numbers between 1..10
in thread Select three random numbers between 1..10

Paladin,
Wow. That certainly is much neater than my solution. I knew there were likely canned solutions, but it seemed like a cool problem to solve:
#!/usr/bin/perl use strict; use warnings; print "$_\n" for Get_Unique_Random(10 , 3); sub Get_Unique_Random { my ($max , $total) = @_; # Requires error checking obviously $total ||= 3; my @return; while ( @return < $total ) { my @list = ( 1 .. $max ); for my $seen ( @return ) { @list = grep { $_ ne $seen } @list; } push @return , $list[ (int rand $#list) + 1 ]; } return wantarray ? @return : \@return; }
Cheers - L~R