[Cascavel-pm] Outro probleminha....

Alceu R. de Freitas Jr. glasswalk3r em yahoo.com.br
Segunda Outubro 6 16:41:20 CDT 2003


Olá Adriano,

Um hash é quase a mesma coisa que um array... mas no
array o índice é obrigatoriamente numérico, ok? No
hash pode ser uma palavra, um número... qualquer
coisa. Até um x_salada...

Um hash é útil para vc fazer pesquisas não
sequenciais. Imagine que vc quer ler um arquivo com os
seguintes registros:

zeca:/home/zeca:/bin/bash
joana:/home/joana:/bin/bash

Ok, agora imagine que você tem MUITOS registros como
esse. Imagine também que os nomes nunca se repetem
(como uma chave primária de um banco de dados). Se
você colocar os dados num array, vai ter que buscar
registro a registro quando quiser apenas UM registro
especifíco: a joana, por exemplo.

Se você usar um hash, e o nome do usuário como chave,
BINGO! Você só precisa chamar 
$hash{joana}
para ter acessos aos dados da joana.

Hashes não podem ser ordenados como arrays usando a
função sort. Uma forma de fazer isso é criar um array
das chaves do array com um
my @array = keys($hash);

e ordenar o array com sort:

sort(@array);

depois um loop:

foreach $chave(@array) {

print "$hash{$chave}\n";

}

a impressão estará ordenada.

[]´s
Alceu
 --- Adriano Vivan Borro <vivan em dim.fm.usp.br>
escreveu: > Bem...
> 
>  O hash possui apenas 1 indice ( eh isso mesmo ???
> ). Como faco entao pra estar ordenando um arquivo
> com,
> digamos... 4 colunas. Estou querendo montar um Banco
> de dados para trata-lo usando perl.....
> 
> tks
> []'s
> 
> Nelson Ferraz wrote:
> 


Yahoo! Mail - o melhor webmail do Brasil
http://mail.yahoo.com.br



Mais detalhes sobre a lista de discussão Cascavel-pm