por charlygarza » 2013-05-21 22:30 @979
Buenas, necesito su ayuda con este problema:
Quisiera realizar la eliminación dentro de una lista asociativa pero sin hacerlo de forma manual tal y como está ahora en mi código, sino por medio de algún for() o si existe otra forma. De la lista se eliminan los datos uno, tres y siete; se tiene que mostrar la lista antes de la eliminación, los números a eliminar y la lista después de la eliminación.
#!/usr/bin/perl
%datos = ("UNO", 1, "DOS", 2, "TRES", 3,"CUATRO", 4,"CINCO", 5,"SEIS", 6,"SIETE", 7,"OCHO", 8,"NUEVE", 9,"DIEZ", 10,"ONCE", 11,"DOCE", 12);
print "LISTA ASOCIATIVA ANTES DE LA ELIMINACIÓN \n";
print "$datos{'UNO'}, $datos{'DOS'}, $datos{'TRES'}, $datos{'CUATRO'}, $datos{'CINCO'}, $datos{'SEIS'} " ;
print "$datos{'SIETE'}, $datos{'OCHO'}, $datos{'NUEVE'}, $datos{'DIEZ'}, $datos{'ONCE'}, $datos{'DOCE'} \n" ;
print "LISTA NÚMEROS A ELIMINAR \n";
print "$datos{'UNO'},$datos{'TRES'},$datos{'SIETE'}";
delete $datos{'UNO'},$datos{'TRES'},$datos{'SIETE'};
print "\nLISTA CON DATOS ELIMINADOS \n";
print "$datos{'DOS'}, $datos{'CUATRO'}, $datos{'CINCO'}, $datos{'SEIS'} " ;
print " $datos{'OCHO'}, $datos{'NUEVE'}, $datos{'DIEZ'}, $datos{'ONCE'}, $datos{'DOCE'} \n" ;