Tengo este código, que me crea un array (@laburtua) con los elementos no repetidos de otro array (@lerro_guzti_zat), y luego crea otro array (@azkena) ordenando los elementos de menor a mayor, según su número de líneas (se supone que ningún elemento tiene más de 30 líneas). Luego se imprime este último array, con un número de orden de aparición (1, 2, 3...).
Lo que me gustaría, y os pido ayuda, es cómo podría hacer para que, al imprimir en FF (un fichero) pueda aparecer cuántas veces estaba repetido ese elemento en el array inicial. Supongo que tendré que crear un hash, con $lerro_guztiak y $visto_antes{$lerro_guztiak}, pero ¿puedo utilizar 'push' como en los arrays?
Gracias de antemano (otra vez)...
Using perl Syntax Highlighting
foreach $lerro_guztiak (@lerro_guzti_zat) {
push @laburtua, $lerro_guztiak if not $visto_antes{$lerro_guztiak}++;
}
for ($ind = 1; $ind < 30; $ind ++) {
foreach $lerro_denak (@laburtua) {
@kop_lag = split (/\n/, $lerro_denak);
$tamaina = $#kop_lag;
if ($tamaina == $ind) {
push @azkena, $lerro_denak;
}
}
}
$kont = 0;
foreach (@azkena) {
$kont++;
print FF "<$kont>";
print FF $_;
}
push @laburtua, $lerro_guztiak if not $visto_antes{$lerro_guztiak}++;
}
for ($ind = 1; $ind < 30; $ind ++) {
foreach $lerro_denak (@laburtua) {
@kop_lag = split (/\n/, $lerro_denak);
$tamaina = $#kop_lag;
if ($tamaina == $ind) {
push @azkena, $lerro_denak;
}
}
}
$kont = 0;
foreach (@azkena) {
$kont++;
print FF "<$kont>";
print FF $_;
}
Coloreado en 0.004 segundos, usando GeSHi 1.0.8.4
Xagutxu