Ver Mensaje Individual
  #2 (permalink)  
Antiguo 04/02/2015, 08:30
jferrero
Colaborador
 
Fecha de Ingreso: mayo-2006
Ubicación: Valladolid
Mensajes: 525
Antigüedad: 18 años, 6 meses
Puntos: 11
Respuesta: Problemas con espacios en blanco en parametros de Perl

Si la contraseña puede tener un espacio en blanco, que es indistinguible de los espacios en blanco que hacen de delimitadores, no es posible resolverlo (si no hay más pistas, claro).

La solución es cambiar de delimitadores, con un carácter que sepamos que no se usará en ningún sitio. Por ejemplo, '|' y ';':

usuario1;password1|usuario2;password2

Si pones las contraseñas entre ciertos delimitadores, sí que puedes extraerlos. Por ejemplo, si los pones entre comillas, puedes construir una expresión regular que saque los dos:
Código PHP:
#!/usr/bin/perl
use v5.14;

my $_ "usuario1'password'usuario2'contraseña con espacios'usuario3'otra contraseña'";

while ( /(
w+)'(.+?)'/g) {

    
say "[$1][$2]";


Sale:
Código:
[usuario1][password]
[usuario2][contraseña con espacios]
[usuario3][otra contraseña]
__________________
JF^D Perl Programming en Español

Última edición por jferrero; 04/02/2015 a las 08:51