[caracas-pm] problemas con script de hash

Cesar Mendoza mendoza at kitiara.org
Thu May 26 08:07:52 PDT 2005


Hola,

Mi forma tiene un error en el split al final, cambia 'slit %/' por 'split /'

Bye
Cesar Mendoza
http://www.kitiara.org
--
"Sólo la infancia es la época adecuada 
para sembrar la semilla de la fe.." 
  --Schopenhauer


On Thu, May 26, 2005 at 10:48:57AM -0400, Manuel Sanguino wrote:
> bueno gracias ...por la respuesta ...voy a ver como me va con tu forma 
> 
> gracias 
> 
> On 5/25/05, Cesar Mendoza <mendoza at kitiara.org> wrote:
> > Hola,
> > 
> > Respondiendo a tu pregunta, el script imprime como se va llenando el
> > hash, si solo quieres ver el resultado final, tienes que sacar el
> > código:
> > 
> > for my $key(sort keys %Datos){
> >     print "$key: $Datos{$key}\n";
> > }
> > 
> > fuera del loop.
> > 
> > Otra cosa, todo el código del foreach se podría reemplazar por
> > algo así:
> > 
> > %Datos = map { /([A-Z])(\d+)/; $1 => $2 } grep { $_ ne '' } split
> > %/([A-Z]\d+)/, $dat3;
> > 
> > Se deja como tarea el porque funciona.
> > 
> > Bye
> > Cesar Mendoza
> > http://www.kitiara.org
> > --
> > "First they tell you, you're wrong and they can prove it; 
> > then they tell you, you're right but it isn't important; 
> > then they tell you, it's important but they knew it all along."
> >  --Charles Kettering
> > 
> > On Tue, May 24, 2005 at 12:21:24PM -0400, Manuel Sanguino wrote:
> > >   bueno gracias a KiDD del foro perl en español por el script que me
> > > envio ta muy bueno ... sin embargo cuando lo utilizo en mi script,  en
> > > mi programa script, me da resultados erroneos.
> > > 
> > > el script
> > > 
> > >   while ( <$remote> )
> > >         {
> > >         $count++;
> > >         $dat1=$_;
> > >         chomp($dat1);
> > >         $dat2=$dat2.$dat1;
> > >         push(@arreglo,$dat2);
> > >         $dat3=pop(@arreglo);
> > > 
> > >                                 #acomodar datos en una arreglo hash
> > > 
> > >           foreach(split //, $dat3){     #itero carater por caracter
> > > 
> > >                 print"$dat3\n";
> > > 
> > >                 if(/([A-Z])/){
> > >                         $Datos{$_} = '';
> > >                         $memoria = $1;
> > >                         }
> > > 
> > >                  elsif(/(\d)/){
> > >                         $Datos{$memoria} .= $1;
> > >                         }
> > >                 for my $key(sort keys %Datos){
> > >                           print "$key: $Datos{$key}\n";
> > >                         }
> > > 
> > >         }
> > > }
> > > 
> > > 
> > > 
> > > este script lee el ultimo valor de una arreglo ..el ultimo valor tiene
> > > algo como esto
> > > 
> > > A111B222C333D444E555 
> > > 
> > > y luego con este valor hace un split  y acomoda cada letra con los
> > > valores  en un arreglo hash
> > > 
> > > bueno ahy un error  observen la salida ademas que me da otro valor q
> > > no se de dond sale ...pero la verdad no me importa mucho... lo curioso
> > > es que ese valor si lo imprime siempre
> > > 
> > > A111B222C333D4444
> > > : 0
> > > A: 111
> > > B: 222
> > > C: 333
> > > D:						aca faltaron todos los varlores de D
> > > A111B222C333D4444
> > > : 0
> > > A: 111
> > > B: 222
> > > C: 333
> > > D: 4							aca faltaron  2 valores de D
> > > A111B222C333D4444			observen que la variable los tiene
> > > : 0
> > > A: 111			
> > > B: 222
> > > C: 333
> > > D: 44				aca falto un valor de D y 
> > > A111B222C333D4444
> > > : 0
> > > A: 111
> > > B: 222
> > > C: 333
> > > D: 444
> > > A111B222C333D4444
> > > : 0
> > > A: 111
> > > B: 222
> > > C: 333
> > > D: 444
> > > A111B222C333D4444
> > > : 0
> > > A:
> > > B: 222
> > > C: 333
> > > D: 444
> > > A111B222C333D4444
> > > : 0
> > > A: 1
> > > B: 222
> > > C: 333
> > > D: 444
> > > 
> > > 
> > > como pueden ver a veces me imprime todos los valores y a veces no... a
> > > que se debe esto??? porque ???? y observen q la variable tiene $dat3
> > > todos lo valores ...???
> > > _______________________________________________
> > > caracas-pm mailing list
> > > caracas-pm at pm.org
> > > http://mail.pm.org/mailman/listinfo/caracas-pm
> > 
> >
> _______________________________________________
> caracas-pm mailing list
> caracas-pm at pm.org
> http://mail.pm.org/mailman/listinfo/caracas-pm



More information about the caracas-pm mailing list