[perl] Numeros Aleatorios en perl

Bolo Lacertus lacertus@servidor.unam.mx
Mon, 26 Oct 1998 10:57:37 -0600


Saludos!!!

Esta es de esas preguntas que hasta sacan un poquitín de onda :), casi
todos los lenguajes tienen y por lo regular todos la tienen igual.

Mirian Janet Zablah wrote:
> Desearia saber si perl cuenta con alguna funcion para generar numeros
> aleatorios??

Claro que si!

bueno, tomando mi referencia...

rand EXPR
Regresa un numero fraccional entre 0 y el valor de EXPR. (EXPR deberá
ser positivo.) Si EXPR se omite, regresa un valor entre 0 y 1. Esta
función produce secuencias de resultados repetidas a menos de que se
invoque srand(). Ver también srand().
(Hay una nota respecto a que si los resultadosson muy grandes o muy
chicos de modo consistente pudo haber un error en la compilación al no
indicarle el número de bits del RAND interno).

srand EXPR
Establece el numero de "semilla" aleatoria para el operador rand. Si
EXPR se omite, se realiza srand(time). Muchos usan explicitamente
srand(time ^ $$) en su lugar. Por supuesto, no necesitas algo mucho mas
aleatorio que esto sino para criptografía, ya que es sencillo adivinar
el time de ese instante.
Realizar Checksums de la salida comprimida de programas de estado que
cambian rápidamente en el Sistema Operativo es el metodo usual. Se
envían ejemplos regularmente al newsgroup comp.security.unix .

Pues bien, eso es todo, siempre había tenido ganas de traducir aunque
sea un cachito de la referencia por lo que la pongo tal cual, como verás
es exactamente la misma historia que en C.

A modo que ejemplo:

#!/usr/bin/perl
# Programa que genera 100 números enteros aleatorios simulando un dado
de 20 caras
# Si, juego RPGs como Dungons & Dragons y Rifts.

srand; #Inicio el generador de números aletorios para hacer
"inpredecible" el resultado

$caras=20;

for($c1=0;$c1<100;$c1++)
{
  print int(rand($caras))+1,"
\t";
}

#Fin de programa

Bueno, espero que tanto rollo te sea de utilidad:Daniel Sol


-- 
Bolo Lacertus: lacertus@servidor.dgsca.unam.mx			==~\___\
http://132.248.71.81/cgi-bin/lacertus/hola			 =__vvvv
-----BEGIN GEEK CODE BLOCK-----
Version: 3.1
GCS/GE/GED d>d? s:+ a-- C++>+++$ US++ P+++>++++$ L E? W++>+++ N+ o? K- 
w--- O !M V- PS+ PE->-- Y+ PGP+ t+ 5? X- R@ tv-- b++>- DI+ D+ G+>++
e+>++ 
h* r-(*) z+ 
------END GEEK CODE BLOCK------
--------- Pie de mensaje --------------------------------
Visite: http://tlali.iztacala.unam.mx/~randrade/perl.shtml
Cancelar inscripcion:
mail to: majordomo@tlali.iztacala.unam.mx
text   : cancelacion perl