#!/usr/bin/perl sub make_random_list { my $len = shift, $max = shift; my @result, @unused, $num; $result[$len - 1] = 0; $unused[$max - 1] = 0; for ($idx = 0; $idx < $max; $idx++) { $unused[$idx] = scalar $idx } for ($idx = 0; $idx < $len; $idx++) { $num = int(rand($max - $idx)); $result[$idx] = $unused[$num]; $unused[$num] = $unused[$max - $idx - 1]; } return @result; } $len = shift; $max = shift; @result = make_random_list($len, $max);