[Cascavel-pm] Como lidar com caracteres nacionais
Nelson Ferraz
nferraz em gnubis.com.br
Segunda Abril 18 06:33:39 PDT 2005
> Bom, se você propuser os outros pré-requisitos, ou algum código, pode
> ajudar...
O núcleo do programa é este loop, que retorna uma resposta aleatórea para a mensagem do usuário:
1 my @resp;
2 foreach (@{$bot->{user}}) {
3 my $bot_msg = $_->{msg};
4 if ($user_msg =~ m!$bot_msg!i) {
5 @resp = @{$_->{bot}};
6 my $resposta = eval("\"$resp[rand @resp]->{msg}\"");
7 return $resposta;
8 }
9 }
Na linha 4 verificamos se a mensagem do usuário bate com uma das palavras-chave registradas, e, em caso positivo, recuperamos as possíveis respostas (@resp, na linha 5). A linha 6 usa um eval para que as variáveis $1, $2, etc, sejam corretamente interpoladas.
O código-fonte completo está aqui:
http://www.hola.com.br/chat.tgz
Ainda não consegui resolver o problema da acentuação...
[]s
Nelson
Mais detalhes sobre a lista de discussão Cascavel-pm