#!/usr/bin/perl use strict; use warnings; my $length = 1; my $max = 1; my @strings; for ( 1 .. $max ) { push @strings, rand_nums($length); } print "@strings", "\n"; { my %cache; sub rand_nums { my %local_cache; my ($length) = 8; my $lower = 4; my $upper = 21; my $serial = int( rand($upper - $lower) ) + $lower; $local_cache{$serial} = 1; for ( 2 .. $length ) { my $num = int( rand($upper - $lower) ) + $lower; redo if exists $local_cache{$num}; $local_cache{$num} = 1; $serial .= "-$num"; } rand_nums($length) if exists $cache{$serial}; $cache{$serial} = 1; return $serial; } }
In reply to Re: getting random number 8 times never the same
by Khen1950fx
in thread getting random number 8 times never the same
by Anonymous Monk
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |