Skip to content

Instantly share code, notes, and snippets.

@sukria
Created September 18, 2013 15:55
Show Gist options
  • Save sukria/6611288 to your computer and use it in GitHub Desktop.
Save sukria/6611288 to your computer and use it in GitHub Desktop.
use strict;
use warnings;
use Data::Dumper;
my $MAX_INT = 2 ** 16;
sub rand_boundary {
my ($min, $max) = @_;
my @possible_values = ($min .. $max);
return $possible_values[ int(rand(@possible_values)) ];
}
sub rand_uniq {
my $n = shift;
my @integers = (0 .. $MAX_INT);
for (my $i=0; $i<$n; $i++) {
my $rand = rand_boundary($i, scalar(@integers) - 1);
my $value = $integers[$rand];
$integers[$rand] = $integers[$i];
$integers[$i] = $value;
print "$value\n";
}
}
rand_uniq($ARGV[0]);
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment