#!/usr/bin/perl -w

# Uma solucao para o exercicio 3 da Aula 27 de MAC211
# M.S.Reis, 17/6/2010

use strict;
use warnings;

# Esta solucao esta' ineficiente, pois ela itera todas as letras a cada linha;
# Faltou tambem imprimir tanto a vogal quanto a consoante mais frequentes
# (imprime apenas a letra mais frequente de A..Z).

my (%frequencia, $total);

while(<>){
    my $linha = uc $_;
    $frequencia{$_} += ($linha =~ s/$_//g) foreach 'A'..'Z';
}

$total += $frequencia{$_} foreach ('A'..'Z');

$total != 0 and $frequencia{$_} /= $total foreach('A'..'Z');

my @lista = reverse sort {$frequencia{$a} <=> $frequencia{$b}} keys %frequencia;

printf "Letra mais frequente: %s -> %1.2f \n", $lista[0], $frequencia{$lista[0]};
