[perl] random
Jose Ignacio
jopinet@writeme.com
Tue, 23 Mar 1999 09:04:36 +0100
Éste es un mensaje con firma cifrada en formato MIME.
--------------msC09171538D7096402090BD67
Content-Type: text/plain; charset=iso-8859-1
Content-Transfer-Encoding: 8bit
$x=int(rand(9999)) creo que funciona
Si el número no lo consigues aleatorio (sucede en algunos UNIX creo) pon delante
srand;
Saludos
JOse
Adrian Galindo escribió:
> On Mon, 22 Mar 1999, Ulises Ponce wrote:
>
> > Quiero generar un numero entero aleatorio de 9 digitos y que se almacene en
> > una variable.
> >
> > Estoy usando la funcion rand:
> > $variable=rand(999999);
> >
> > Pero me genera un numero fraccional (si, ya se que asi dice en perlfunc).
> > Como puedo hacer para generar el numero aleatorio pero que sea entero?
> > O como puedo elimarle la fraccion al numero que regresa rand() ?
>
> Puesto que en perl no es necesario hacer el cast de un tipo a otro, puedes
> tratar el resultado como una cadena y hacer algo asi
>
> $valor =~ s/(\d*)\..*/$1/;
>
> claro que esta algo jalado de los pelos, pero es muy perliano.
> Que es lo que dice: dejame al final de todo esto chorizo, solo los digitos
> que encuentres hasta antes de un punto (que esta escapado).
>
> Lo mejor es usar la funcion int que segun el manual de perlfunc te regresa
> la parte entera de lo que le pases como argumento, si no le pasas nada
> toma $_ como valor predefinido.
>
> $valor = rand(99999);
> $variable = int($valor);
>
> rand() automaticamente llama a srand, pero se preferible que la uses
> primero para mover la semilla, antes de llamar a rand();
>
> En el manual de perlfunc viene todo esto.
>
> Salu2...
>
> ---------------------------
> Adrian Galindo Hdez
> Unidad de Estadistica
> DGESII, UNAM
> Ciudad de Mexico
>
> --------- Pie de mensaje --------------------------------
> Visite: http://tlali.iztacala.unam.mx/~randrade/perl.shtml
> Cancelar inscripcion:
> mail to: majordomo@tlali.iztacala.unam.mx
> text : cancelacion perl
--------------msC09171538D7096402090BD67
Content-Type: application/x-pkcs7-signature; name="smime.p7s"
Content-Transfer-Encoding: base64
Content-Disposition: attachment; filename="smime.p7s"
Content-Description: Firma cifrada S/MIME
MIIFUwYJKoZIhvcNAQcCoIIFRDCCBUACAQExCzAJBgUrDgMCGgUAMAsGCSqGSIb3DQEHAaCC
A7IwggOuMIIDWKADAgECAgcI/hkAAAABMA0GCSqGSIb3DQEBBAUAMHkxCzAJBgNVBAYTAkVT
MRAwDgYDVQQIEwdWaXpjYXlhMQ4wDAYDVQQHEwVCaWxibzEQMA4GA1UEChMHSm9waU5ldDEa
MBgGA1UECxMRSW50cmFuZXQtSW50ZXJuZXQxGjAYBgNVBAMTEUludHJhbmV0LUludGVybmV0
MB4XDTk5MDIwNTA5MDk1OFoXDTAwMDIwNTA5MDk1OFowgZExIjAgBgkqhkiG9w0BCQEUE2pv
cGluZXRAd3JpdGVtZS5jb20xCzAJBgNVBAYTAkVzMRAwDgYDVQQIEwdWaXpjYXlhMQ8wDQYD
VQQHEwZCaWxiYW8xEDAOBgNVBAoTB0pvcGlOZXQxEjAQBgNVBAsTCVdlYm1hc3RlcjEVMBMG
A1UEAxMMSm9zZSBJZ25hY2lvMFwwDQYJKoZIhvcNAQEBBQADSwAwSAJBANZ5VPyeXImqPCa/
qjuDYq//hZKkqIv4zcUYRommsaryOx+FnyBfzBoorEBys78hjNENSW1sCSWNnpbbh4NwWGEC
AwEAAaOCAaowggGmMIGyBgNVHSMEgaowgaeAFOSPyN7kexzN+H58oM/HWc3ff+X+oX2kezB5
MQswCQYDVQQGEwJFUzEQMA4GA1UECBMHVml6Y2F5YTEOMAwGA1UEBxMFQmlsYm8xEDAOBgNV
BAoTB0pvcGlOZXQxGjAYBgNVBAsTEUludHJhbmV0LUludGVybmV0MRowGAYDVQQDExFJbnRy
YW5ldC1JbnRlcm5ldIIQfymqJKAAsbIR0rzVmLbD5DCBiAYDVR0fBIGAMH4wPKA6oDiGNmh0
dHA6Ly9CSUxCQU8vQ2VydFNydi9DZXJ0RW5yb2xsL0ludHJhbmV0LUludGVybmV0LmNybDA+
oDygOoY4ZmlsZTovL1xcQklMQkFPXENlcnRTcnZcQ2VydEVucm9sbFxJbnRyYW5ldC1JbnRl
cm5ldC5jcmwwCQYDVR0TBAIwADBZBggrBgEFBQcBAQRNMEswSQYIKwYBBQUHMAKGPWh0dHA6
Ly9CSUxCQU8vQ2VydFNydi9DZXJ0RW5yb2xsL0JJTEJBT19JbnRyYW5ldC1JbnRlcm5ldC5j
cnQwDQYJKoZIhvcNAQEEBQADQQAM6gQ9fhSL61YE47oAocISvETq7RYclTiJCDVFThkuVdLP
PMSdsYesI09IZlSeEV4P1nNdWWeTQL2YIIfaMk/gMYIBaTCCAWUCAQEwgYQweTELMAkGA1UE
BhMCRVMxEDAOBgNVBAgTB1ZpemNheWExDjAMBgNVBAcTBUJpbGJvMRAwDgYDVQQKEwdKb3Bp
TmV0MRowGAYDVQQLExFJbnRyYW5ldC1JbnRlcm5ldDEaMBgGA1UEAxMRSW50cmFuZXQtSW50
ZXJuZXQCBwj+GQAAAAEwCQYFKw4DAhoFAKB9MBgGCSqGSIb3DQEJAzELBgkqhkiG9w0BBwEw
HAYJKoZIhvcNAQkFMQ8XDTk5MDMyMzA4MDQzNlowHgYJKoZIhvcNAQkPMREwDzANBggqhkiG
9w0DAgIBKDAjBgkqhkiG9w0BCQQxFgQUQCF8LELAYTpOWb1oFWNX8b0IN9wwDQYJKoZIhvcN
AQEBBQAEQL9BlUzkJK7NqBDfgg7izjOJRCnPOXxRT0403abcjmrGsVibOE9L1v2oAlyQ918v
Qk7oRdm7i6aaP+NfTiGHWZg=
--------------msC09171538D7096402090BD67--
--------- Pie de mensaje --------------------------------
Visite: http://tlali.iztacala.unam.mx/~randrade/perl.shtml
Cancelar inscripcion:
mail to: majordomo@tlali.iztacala.unam.mx
text : cancelacion perl