#!/usr/bin/perl -w use strict; my $mystart = 0; # What is the minimum value of random numbers you want to generate my $myend = 100; # What is the maximum value of the random numbers to generate my $count = 50; # How many numbers should be generated my $my_average = 50; # What is the decided avarage of the generated numbers my $number; my @number; my $summ = 0; my $i = 0; my $real_average; print "\nList of random values:\n"; my $start = $mystart; my $end = $myend; while ($i < $count) { $number = rand ($end); if ($number >= $start) { @number = split(/\./, $number); # get integer of float $i++; $summ = $summ + $number[0]; $real_average = $summ / $i; print "Random number: $number[0]\n"; print "Average: $real_average\n\n"; } if ($my_average < $real_average) { # if real avarage is bigger than decided avarage # allow only smaller random numbers $end = $myend / 2; $start = $mystart; } elsif ($my_average > $real_average) { # if real avarage is smaller than decided # allow only bigger random numbers $end = $myend; $start = $myend / 2; } }