Perl Brasil

Pesquisar

Documentação

Artigos

Planeta

Eventos

Comunidade

r1 - 26 Dec 2006 - EdenCardim

Gerar uma cadeia de caracteres aleatoriamente

Problema

Você precisa criar uma string aleatória e arbitrariamente longa contendo um certo conjunto qualquer de caracteres prédefinidos.

Solução

Mapeie cada elemento de um array com o tamanho da string (em caracteres) que você deseja obter para um caracter obtido aleatoriamente do conjunto de caracteres

Discussão

Uma necessidade comum na bioinformática é a geração aleatória de DNA para testar algoritmos.

my @chars = qw(A T C G); #ou qualquer outro conjunto de caracteres
my $size = 100; #ou qualquer valor >= 0
my $dna = join '', map { $chars[int rand @chars] } (1) x $size;
A mesma técnica poderia ser usada para obter um valor 'salt' para a função 'crypt'

Comentários