Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Perl: разработка для Web > случайный выбор


Автор: Гость_Сергей 27.4.2005, 15:37
вот как получить случайное число от 0 до 1 я знаю.
а как получить случайную строку?
есть массив допустимых символов
a-z A-Z 0-9 `~!@#$%^&*()_+-=[]{};':",./<>?\|
нужна строка длиной 12 символов, все элементы которой выбирались бы из массива допустимых символов случайным образом.
Подскажите как это сделать.
и как записать правильно такой массив?

Автор: korob2001 27.4.2005, 15:57
Так получаешь число от 0 до 1.
Код

#!/usr/bin/perl -w
use strict;
my $num  = rand();
print $num;

А так строку:
Код

#!/usr/bin/perl -w
use strict;
my @simbols = ( 0..9, 'a'..'z', 'A'..'Z', '`', '~', '!', '@', '#', '$',
                '%', '^', '&', '*', '(', ')', '_', '+', '-', '=', '[',
                ']', '{', '}', ';', '\'', ':', '\"', ',', '.', '/', '<', '>',
                '?', '\\', '|' );
my $col = 12; # Кол-во символов
my $str = join("", @simbols[ map { rand @simbols }( 1..$col ) ] );

print $str;

Удачи

Автор: Гость_Сергей 28.4.2005, 10:01
Большое спасибо.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)