• Publicidad

Math::Random::MT::Auto 5.04

¿Ya sabes lo que es una referencia? Has progresado, el nível básico es cosa del pasado y ahora estás listo para el siguiente nivel.

Math::Random::MT::Auto 5.04

Notapor Cristina » 2009-02-05 11:00 @500

Estimados, necesito hacer "shuffling" de caracteres en un array o un string.
Parece que lo mejor es instalar el módulo Math::Random::MT::Auto 5.04. No puedo hacerlo, al instalarlo me pide cada vez que baje más mádulos como: Objet, Class, inheritance (hasta aquí llegué, el último no lo pude instalar).
¿Hay alguna versión de Perl para Linux que lo tenga integrado, o alguna forma más sencilla de hacerlo?
¡¡Muchas gracias!!
Cris.
Cristina
Perlero nuevo
Perlero nuevo
 
Mensajes: 14
Registrado: 2009-02-05 10:17 @470

Publicidad

Notapor explorer » 2009-02-05 13:14 @593

Bienvenida a los foros de Perl en Español, Cristina.

Para barajar el contenido de un arreglo, lo puedes hacer con el módulo List::Util:

Sintáxis: [ Descargar ] [ Ocultar ]
Using perl Syntax Highlighting
#!/usr/bin/perl
use Modern::Perl;
use List::Util qw(shuffle);

my @mazo = 1 .. 52;

say join " ", @mazo;

@mazo = shuffle @mazo;

say join " ", @mazo;

__END__
Coloreado en 0.002 segundos, usando GeSHi 1.0.8.4

En cuanto al string, se podrían pasar los caracteres a un arreglo (con la ayuda de split //,$string), hacer el barajamiento y luego rehacer el string con un join "", @arreglo.

Algo así:
Sintáxis: [ Descargar ] [ Ocultar ]
Using perl Syntax Highlighting
$cadena = join '', shuffle split //, $cadena;
Coloreado en 0.001 segundos, usando GeSHi 1.0.8.4
JF^D Perl programming & Raku programming. Grupo en Telegram: https://t.me/Perl_ES
Avatar de Usuario
explorer
Administrador
Administrador
 
Mensajes: 14480
Registrado: 2005-07-24 18:12 @800
Ubicación: Valladolid, España

Notapor Cristina » 2009-02-05 13:30 @604

¡¡Muchas gracias!! pero otra vez, me da el mensaje "can´t locate Modern/Perl.pm in @INC (@INQ.....
Cristina
Perlero nuevo
Perlero nuevo
 
Mensajes: 14
Registrado: 2009-02-05 10:17 @470

Notapor explorer » 2009-02-06 05:01 @250

Eso es que no lo tienes instalado.

Prueba a instalarlo, con el comando

cpan Modern::Perl

Pero eso sí... ese módulo solo te funcionará si tienes el Perl versión 5.10. Si tienes otro más antiguo, quita la línea del "use ..." y cambia los say() por print() con un "\n" al final.
JF^D Perl programming & Raku programming. Grupo en Telegram: https://t.me/Perl_ES
Avatar de Usuario
explorer
Administrador
Administrador
 
Mensajes: 14480
Registrado: 2005-07-24 18:12 @800
Ubicación: Valladolid, España

Notapor Cristina » 2009-02-06 10:58 @499

¡Muchas gracias!
Lo voy a intentar.
Saludos.
Cristina
Perlero nuevo
Perlero nuevo
 
Mensajes: 14
Registrado: 2009-02-05 10:17 @470


Volver a Intermedio

¿Quién está conectado?

Usuarios navegando por este Foro: Google [Bot] y 13 invitados

cron