mercredi 30 novembre 2016

Generating limited amount of random numbers in Perl for a known range

I am a newbie in here and wanted to ask a question that I am not able to find its answer. I have a file which has couple letters as :

letters.txt :

@string1 10 letters

A H K Y M H O L H L

@string2 9 letters

H N U P W X L Y H

I am trying to create a file which will only have random numbers from 20 to 60 for each letter, for each string. My expected output should look like :

output.txt:

@string1

29 27 56 43 39 40 36 48 59 38

@sting2

26 36 39 39 26 51 38 42 42

I have tried this code below while having $minimum as 20 and $maximum as 60:

open ($fh, '>', $fileToLocate) or die;`

my $x = $minimum + int(rand($maximum - $minimum);

print $fh "$x\n";

close $fh;

And it creates only 1 random number in my $fh file, however I want to extract the number of letters in each string (written just before "letter" in identifier, 10 for string1 and 9 for string2 forex.) and create a loop which will give the expected output.

I have tried to this below to create 30 random numbers ranging between 20 and 60, however it did not work out :

my @Chars = ( 20 .. 60);my @Chars = ( 20 .. 60); emy $RandString = join("", @Chars[ map { $x } ( 1 .. 30 ) ]); print $fh "$x\n"; close $fh;

I am sorry if it is too much to ask, but I would very much appreciate if you show me a way to do it.

Thank you so much in advance..




Aucun commentaire:

Enregistrer un commentaire