[Perl] Re: problemas hash (Sergi -)

Gunnar Wolf gwolf en gwolf.org
Mie Nov 30 16:57:13 CST 2005


Antonio Galindo Castro dijo [Wed, Nov 30, 2005 at 05:04:26PM -0600]:
> Si tu archivo es así:
> 
> > nombre:direcciondecorreo
> > nombre2:direcciondecorreo2
> > nombre3:direcciondecorreo3
> 
> Y ya tienes un filehandle para el , ¿por qué no haces algo así:
> 
> while ( <ARCH> ) {
>   $tu_hash{[split /:/, $linea]->[0]} = [split /:/, $linea]->[1];
> }

Umh... Estás repitiendo una expresión regular, lo cual es chamba
gratis - ¿Por qué no mejor esto? (le agrego un siempre útil chomp)

while (<ARCH>) {
    chomp;
    /(.*):(.*)/;
    $tu_hash{$1} = $2;
}

O más fácil aún:

%hash = map {chomp; /(.*):(.*)/; $1,$2} <ARCH>

Ahí lo tienes completito.

Saludos,

-- 
Gunnar Wolf - gwolf en gwolf.org - (+52-55)1451-2244 / 5623-0154
PGP key 1024D/8BB527AF 2001-10-23
Fingerprint: 0C79 D2D1 2C4E 9CE4 5973  F800 D80E F35A 8BB5 27AF


Más información sobre la lista de distribución Perl