• Publicidad

Guardar 'texto'

¿Apenas comienzas con Perl? En este foro podrás encontrar y hacer preguntas básicas de Perl con respuestas aptas a tu nivel.

Notapor explorer » 2007-11-16 15:50 @701

¡Ah!, entonces estamos en un problema distinto... :-)

Depende de lo que quieras hacer...

Pista: /g
JF^D Perl programming & Raku programming. Grupo en Telegram: https://t.me/Perl_ES
Avatar de Usuario
explorer
Administrador
Administrador
 
Mensajes: 14486
Registrado: 2005-07-24 18:12 @800
Ubicación: Valladolid, España

Publicidad

Notapor later » 2007-11-16 16:15 @719

Sí, sé que /g es para que repita la búsqueda en todas las ocurrencias de la cadena. Pero he estado probando miles de combinaciones y no me sale.

Un ejemplo de los que he probado y la más lógica es:

Sintáxis: [ Descargar ] [ Ocultar ]
Using perl Syntax Highlighting
#!/usr/bin/perl -l
$texto=' Grabar el email [email protected] jajaja [email protected]';

($email) = $texto =~ m{(\w+\@[\w.]+)}/g;

print $email;
 
Coloreado en 0.002 segundos, usando GeSHi 1.0.8.4
later
Perlero nuevo
Perlero nuevo
 
Mensajes: 46
Registrado: 2007-10-06 12:42 @570

Notapor explorer » 2007-11-16 16:23 @724

Le estás pidiendo a Perl que busque todas las direcciones de correo, PERO que las guarde en solo UN escalar... eso no es correcto... salvo que realmente quieras eso. ¿Quieres eso?
JF^D Perl programming & Raku programming. Grupo en Telegram: https://t.me/Perl_ES
Avatar de Usuario
explorer
Administrador
Administrador
 
Mensajes: 14486
Registrado: 2005-07-24 18:12 @800
Ubicación: Valladolid, España

Notapor later » 2007-11-16 16:36 @733

¡Ah!, sí, tienes razón, se me escapó.

Si supiese que en el texto va haber dos emails lo haría así:

Sintáxis: [ Descargar ] [ Ocultar ]
Using perl Syntax Highlighting
#!/usr/bin/perl -l
$texto=' Grabar el email [email protected] jajaja [email protected]';

($email,$email2) = $texto =~ m{(\w+\@[\w.]+)/g};

print $email;
print $email2;
 
Coloreado en 0.001 segundos, usando GeSHi 1.0.8.4


Pero no me funciona.

Y si no sé cuántos emails habrá en el texto lo guardaría en un array:

Sintáxis: [ Descargar ] [ Ocultar ]
Using perl Syntax Highlighting
#!/usr/bin/perl -l
$texto=' Grabar el email [email protected] jajaja [email protected]';

(@email) = $texto =~ m{(\w+\@[\w.]+)/g};

print @email;
 
Coloreado en 0.001 segundos, usando GeSHi 1.0.8.4


Pero tampoco me funciona.
later
Perlero nuevo
Perlero nuevo
 
Mensajes: 46
Registrado: 2007-10-06 12:42 @570

Notapor explorer » 2007-11-16 16:38 @735

Porque has colocado mal el /g.
JF^D Perl programming & Raku programming. Grupo en Telegram: https://t.me/Perl_ES
Avatar de Usuario
explorer
Administrador
Administrador
 
Mensajes: 14486
Registrado: 2005-07-24 18:12 @800
Ubicación: Valladolid, España

Notapor joss » 2007-11-17 12:37 @568

Later sería así:

Sintáxis: [ Descargar ] [ Ocultar ]
Using perl Syntax Highlighting
#!/usr/bin/perl -l
$texto=' Grabar el email [email protected] jajaja [email protected]';

(@email) = $texto =~ m{(\w+\@[\w.]+)}g;

print "@email\n";
 
Coloreado en 0.001 segundos, usando GeSHi 1.0.8.4


La g tienes que colocarla fuera de {} y sin el /.

Espero haberte ayudado.
joss
Perlero nuevo
Perlero nuevo
 
Mensajes: 36
Registrado: 2007-09-10 13:04 @586

Notapor later » 2007-11-18 07:14 @343

Gracias joss. (y)
later
Perlero nuevo
Perlero nuevo
 
Mensajes: 46
Registrado: 2007-10-06 12:42 @570

Anterior

Volver a Básico

¿Quién está conectado?

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

cron