<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
</head>
<body bgcolor="#ffffff" text="#000000">
Pessoal, no livro que estou lendo, mais especificamente no cap&iacute;tulo que
trata de Hashes, tem um exerc&iacute;cio proposto em que o autor pede para
elaborar um programa em que o usu&aacute;rio digita palavras (nomes, por
exemplo) e o sistema tem que contar quantas vezes foram digitados as
mesmas palavras.<br>
<br>
Abaixo segue a solu&ccedil;&atilde;o apresentada pelo autor:<br>
<br>
1&nbsp;&nbsp;&nbsp; my(@words, %count, $word);&nbsp;&nbsp;&nbsp;&nbsp; <br>
2&nbsp;&nbsp;&nbsp; chomp(@words = &lt;STDIN&gt;);<br>
3&nbsp;&nbsp;&nbsp; foreach $word (@words) {<br>
4&nbsp;&nbsp;&nbsp; $count{$word} += 1;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <br>
5&nbsp;&nbsp;&nbsp; }<br>
6&nbsp;&nbsp;&nbsp; foreach $word (keys %count) { <br>
7&nbsp;&nbsp;&nbsp; &nbsp; print "$word was seen $count{$word} times.\n";<br>
8&nbsp;&nbsp;&nbsp; }<br>
<br>
<br>
Nas linhas de 3 a 5 &eacute; "armazenado" o n&uacute;mero de vezes que uma palavra
aparece, ou seja, &eacute; feita uma contagem, certo?<br>
<br>
Agora &eacute; aqui que n&atilde;o entendi direito (nas linhas de 6 a
8)....especificamente no trecho <b>(keys %count)</b> O que fiquei em
d&uacute;vida se &eacute; aqui que &eacute; "montado" o Hash, ou seja, os valores s&atilde;o
"captados" nas linhas de 3 a 5 e depois "transportados" ou
"armazenados" no Hash <b>%count</b> da linha 6 ??, pois os valores
digitados pelo usu&aacute;rio s&atilde;o armazenados no Array @words, contados nas
linhas de 3 a 6 e "armazenados" no hash <b>%count</b> ???<br>
<br>
N&atilde;o sei se fui claro, mas como &eacute; o racioc&iacute;nio disto?...Vcs poderia me
ajudar a ler e entender este c&oacute;digo?<br>
<br>
abra&ccedil;o,<br>
Fl&aacute;vio<br>
</body>
</html>