#!/usr/local/bin/perl 

# traducao de palavras com consulta de um dicionario com validacao
# o dicionario e lido do ficheiro: dict

%dict=split(/[=\n]/,`cat dict`);

while(<>) {
	s/(\w+)/traduz($1)/ge;
	print;
}

sub traduz{
  my $a=shift;
  $dict{$a} || ucfirst($dict{lcfirst($a)}) || uc($dict{lc($a)}) || "+$a" ;
}

# Uma versao mais legível de traduz seria:
#
#sub traduz{                                 # supondo que $dict{gato}=cat
#  my $a=shift;
#  if     (defined $dict{$a}) 
#              {$dict{$a}}                      # gato -> cat
#  elsif  (defined $dict{lcfirst($a)})
#              {ucfirst($dict{lcfirst($a)})}    # Gato -> Cat
#  elsif  (defined $dict{lc($a)})
#              {uc($dict{lc($a)})}              # GATO -> CAT
#  else   {"+$a"}                               # XXX  -> +XXX
#}
