7.1 UM READNEXT ESTRANHO |
É muito comum nas linguagens de programação termos um comando chamado READNEXT (ou qualquer coisa assim) que serve para ler o próximo registro de um arquivo. Normalmente se cria um LOOP de leitura (com WHILE) que se encerra quando é retornado o valor EOF.
No PERL temos também o loop WHILE (vamos estudar isso mais em detalhes depois)que é montado assim:
while(verdadeiro)
{
faz tal coisa ;
}
Uma expressão dentro do parênteses tem que retornar TRUE para que o loop continue.
Repare que não se coloca ponto-e-vírgula no fim do bloco.
O PERL, por outro lado, não tem bem um comando READNEXT. O equivalente é a colocação do FILEHANDLE definido para o arquivo, entre sinais de menor-do-que e maior-do-que.Se o filehandle definido para um arquivo é, por exemplo:FHX, a linha de código para ler o próximo registro e jogar numa variável que podemos chamar de : $reg seria:
Quando o arquivo termina, é jogado em $reg um valor equivalente a FALSE.
Assim, podemos montar um loop de leitura com o $reg dentro do teste do WHILE. Isso dá uma seqüência de linhas de código como as abaixo:
$reg=" ";
while($reg)
{
$reg=<FHX>;
print $reg;
}
Primeiro definimos uma variável $reg (com branco).
Depois montamos o loop e cada registro lido é printado.
Uma coisa que é bom ressaltar é que o nome do filehandle para um arquivo não é algo fixo. Ele pode ser definido com nomes diferentes em cada programa.
Um programa bem simples para ler o arquivo arq2.txt que criamos no capítulo anterior seria como o que pode ser visto em hipertexto
Como o programa é muito simples NÃO precisamos acrescentar o MAGIC.TXT (Até poderia ser usado para criar o header e o início e fim do HTML).
Repare que depois de printar cada linha, colocamos uma tag <P> para passar para outra linha na "impressão" da página on-the-fly.
Vamos chamar esse programa de prog5.pl e você pode criá-lo e executá-lo para ler SEU arquivo criado pelo prog4.
Nesse caso não temos um prog5.html.Você pode disparar o programa chamando-o diretamente ou de qualquer página através de um <A HREF etc. Como aqui:
CLIQUE SOBRE ESTE TEXTO PARA DISPARAR O PROG5.
Você pode criar um botão com uma FORM TAG também.
IMPORTANTE:Se você quiser brincar
de gravar com o prog4 e ler com o prog5 , várias vezes; tem que
dar RELOAD no browser para evitar a cópia do cache que não
muda!
7.2 UM RELATÓRIO COM TABLES DO HTML |
Em princípio tudo que pode ser feito com uma página normal da Internet pode ser feito numa página construída on-the-fly.
Na prática porém isso nem sempre acontece e, na maioria dos casos é difícil detectar por que. Assim mesmo tente sempre montar páginas de boa qualidade gráfica mesmo usando dados de arquivo no meio da página.
Vamos fazer então o mesmo exercício de leitura do programa anterior só que colocando os registros dentro de uma tabela (table) do HTML. Copie o programa (prog6.pl) deste hipertexto.
Se você não entendeu bem como se faz para definir tabelas, estude HTML...
Você pode executar o programa demo com nosso arquivo clicando aqui: