miércoles, 30 de abril de 2008

Ejercicio Cinco. Por el $_ te la $1

Mostrar las 50 palabras que más se repiten en un texto ordenadas por número de apariciones.

use File::Slurp;

my $text = read_file( $ARGV[0] ) ;
my @palabros=split(" ", $text);
my %dict;

#En minúscula
for (@palabros){
if($_ =~/^([a-záéíóú])+$/){
$dict{$_}=$dict{$_}+1;
}


}

#print "Todas\n";

# foreach my $llave (keys %dict){
# print "$llave => $dict{$llave}\n";
# }

print "\nOrdenado\n";

$contador = 0;

for (sort {$dict{$b} <=> $dict{$a}} keys %dict ) {

print "$_ => $dict{$_}\n";

$contador++;

if($contador==50){
last;
}

}

1 comentario:

Ferguson dijo...

Sí, hay que poner el 49 en lugar del 50 en el contador ese, pero se me ha pasado.