[Madrid-pm] una de hash
Salvador Fandino
sfandino en yahoo.com
Sab Ene 26 01:38:37 PST 2008
----- Original Message ----
> From: DervishD <bugs en dervishd.net>
> To: Lista de correo de Madrid Perl Mongers <madrid-pm en pm.org>
> Sent: Saturday, January 26, 2008 10:13:56 AM
> Subject: Re: [Madrid-pm] una de hash
>
> Hola ¿PEGG? ;)
>
> * PEGG dixit:
> > Tengo que identificar cada etiqueta y contar
> > cuantas veces aparece, hasta aquí no hay ningún problema.
> Mi
>
problema
> > comienza cuando lo imprimo, es necesario imprimirlo en la
> posición
>
en que
> > aparece. Por ejemplo
> > RI
> > IP
> > CN
> > FS
> > OR
> >
> > quiero que imprima como está arriba y no
> > IP = 286895
> > CN = 55
> > OR = 37
> > FS = 172915
> > RI = 18073
> >
> > ni ordenado de mayor a menor y viceversa.
> > Alguien sabe si es posible????
>
> Claro que es posible. No te pongo el código que es muy temprano
> para
>
ser
> sábado y la voy a cagar, pero te digo cómo hacerlo.
>
> Crea un array para almacenar el orden de las etiquetas tal y como
> aparecen. Cuando veas una etiqueta, si YA EXISTE en la HASH,
> la
>
procesas
> como ya lo haces ahora, sumando uno al número de veces que la
> has
>
visto.
otra forma es guardar en un hash el numero de linea de la primera ocurrencia de cada codigo:
while (<>) {
my @campos=split(/ /,$_);
$todo{$campos[0]}++;
$orden{$campos[0]} ||= $.
}
foreach (sort { $orden{$a} <=> $orden{$b} } keys %orden) {
print "$_: $todo{$_}\n";
}
- Salvador
____________________________________________________________________________________
Be a better friend, newshound, and
know-it-all with Yahoo! Mobile. Try it now. http://mobile.yahoo.com/;_ylt=Ahu06i62sR8HDtDypao8Wcj9tAcJ
Más información sobre la lista de distribución Madrid-pm