Página 1 de 1

Cómo elijo de un fichero el correo que yo quiera

NotaPublicado: 2009-05-28 21:54 @954
por proxy_lainux
Hola.

Tengo un problema... tengo un fichero con estos datos:

Código: Seleccionar todo
dirección de correo
contraseña
dirección pop3
true o false, depende de si se usara SSL
dirección
contraseña
dirección pop3
true o false


y me gustaría colocar en POP3Client los datos como correspondan:

Sintáxis: [ Descargar ] [ Ocultar ]
Using perl Syntax Highlighting
USER => direccion,
PASSWORD => contraseña,
HOST => direccion pop3,
USESSL => true o false,
Coloreado en 0.002 segundos, usando GeSHi 1.0.8.4


pero si se fijan en el fichero tengo la información de dos correos... y me gustaría elegir el que yo quiera para poder utilizar las funciones de POP3Client

Código: Seleccionar todo
perl@español.com
foro
pop3.foro.com
true
españ[email protected]
perl
pop3.perl.com
false


Sintáxis: [ Descargar ] [ Ocultar ]
Using perl Syntax Highlighting
USER => 'españ[email protected]',
PASSWORD => 'perl',
HOST => 'pop3.perl.com',
USESSL => false,
Coloreado en 0.001 segundos, usando GeSHi 1.0.8.4


Al principio intenté meter los datos en un array y separarlos con un for() y foreach()... después se me ocurrió que podría utilizar un split()... pero no sé cómo elegir el que yo quiero... como en el ejemplo de arriba.

Al principio me imaginé hacer una comparación con @español y @foro con "if" para saber cuál correo voy a usar... y al encontrar la dirección a usar... meter en otro array todos los datos del correo para utilizarlos en las funciones

Sintáxis: [ Descargar ] [ Ocultar ]
Using perl Syntax Highlighting
USER => $mem[0],
PASSWORD => $mem[1],
HOST => $mem[2],
USESSL => $mem[3],
Coloreado en 0.001 segundos, usando GeSHi 1.0.8.4


Y si hago algo así /^(español)+/ si logro encontrar la dirección que quiero utilizar... pero como menciono anteriormente no sé cómo meter eso y los demás datos en un array.

¿Alguien sabe cómo puedo buscar en un fichero el correo que yo quiero y guardar tanto el correo como todos los demás datos en un array para después meterlos en las funciones de POP3Client?

NotaPublicado: 2009-05-29 19:21 @848
por explorer
Sintáxis: [ Descargar ] [ Ocultar ]
Using perl Syntax Highlighting
#!/usr/bin/perl
use strict;
use warnings;
use diagnostics;

open   DIRECCIONES, '<kk.txt' or die $!;
my    @direcciones = <DIRECCIONES>;
chomp @direcciones;
close  DIRECCIONES;

my @agenda;

while (@direcciones) {
    push @agenda, [ splice(@direcciones, 0, 4) ];   # Sacamos de cuatro en cuatro
}

use Data::Dumper::Names;
print Dumper \@agenda;

# Salida de la entrada 1
my ($usuario, $passwd, $host, $usessl) = @{$agenda[1]};

print '[', join('|', $usuario, $passwd, $host, $usessl), ']', "\n";

__END__
Coloreado en 0.001 segundos, usando GeSHi 1.0.8.4
Sale:
Código: Seleccionar todo
@agenda = (
            [
              'yyperl@español.com',
              'foro',
              'pop3.foro.com',
              'true'
            ],
            [
              'españ[email protected]',
              'perl',
              'pop3.perl.com',
              'false'
            ]
          );
[españ[email protected]|perl|pop3.perl.com|false]

NotaPublicado: 2009-05-29 20:51 @910
por proxy_lainux
hola

gracias... solo me hace falta leer un poco sobre estas dos funciones que no conocía...

Sintáxis: [ Descargar ] [ Ocultar ]
Using perl Syntax Highlighting
Data::Dumper::Names
Coloreado en 0.001 segundos, usando GeSHi 1.0.8.4


y

Sintáxis: [ Descargar ] [ Ocultar ]
Using perl Syntax Highlighting
splice()
Coloreado en 0.001 segundos, usando GeSHi 1.0.8.4


gracias de nuevo

salu2 :D

NotaPublicado: 2009-05-30 10:48 @492
por explorer
Si no encuentras Data::Dumper::Names, usa Data::Dumper, que sí le tendrás instalado. Y splice() "saca" elementos de un arreglo.