#!/usr/bin/perl -w

#Diferentes contagens a partir do documento ja tokenizado.



$Separador = "[\.\,\;\:\«\»\&\%\+\=\$\(\)\<\>\!\¡\?\¿\\[\\]]" ;
while ($token = <STDIN>) {
     chomp $token;
 
     $contar{$token}++ ;


     ##contamos os tokens que não são marcas de pontuação:
     if ($token !~ m/$Separador/ ) {
        $contarPals++
     }
    
     ##contamos os tokens que tenhem a raiz RELAC : 
     if ($token =~ /relac/) {
         $contRelac++;
         $relac .= "$token ";
     }
     

     ##contamos a frequência dos pontos e as vírgulas:
     if ( ($token eq "\,") || ($token eq "\.") ) {
         $contPontoVirg++;
     }

}

if (defined $contRelac) {
print STDERR "Ocorrências do lexema 'relac': \n$relac\nNúmero de ocorrências: $contRelac\n\n";
}
if (defined $contPontoVirg) {
print STDERR "Numero de ocurrências de pontos e vírgulas: \n$contPontoVirg\n\n";
}

if (defined $contarPals) {
print STDERR "Numero de ocurrências de palavras: \n$contarPals\n\n";
}

foreach $tokenDiff (sort {$contar{$b} <=>
                      $contar{$a} }
                      keys %contar ) {

    $contarPalsDiferentes++;

  print "$tokenDiff\t$contar{$tokenDiff}\n";
}


if (defined $contarPalsDiferentes) {
   print STDERR "Numero de palavras diferentes: \n$contarPalsDiferentes\n\n";
}

$ratio = ($contarPals / $contarPalsDiferentes) ;

if (defined $ratio) {
   print STDERR "Média da frequência por palavra: \n$ratio\n\n";
}

