A Aldeia Numaboa ancestral ainda está disponível para visitação. É a versão mais antiga da Aldeia que eu não quis simplesmente descartar depois de mais de 10 milhões de pageviews. Como diz a Sirley, nossa cozinheira e filósofa de plantão: "Misericórdia, ai que dó!"

Se você tiver curiosidade, o endereço é numaboa.net.br.

Leia mais...

Informática Numaboa - Tutoriais e Programação

Perl+CGI - Um script de verdade

Ter

18

Nov

2008


19:46

(4 votos, média 4.00 de 5) 


A primeira linha do script e a sua importância

Como já foi dito anteriormente nas dicas de programação, a primeira linha de todo script CGI deve ser iniciada com os caracteres #! (grade - ponto de exclamação), seguidos pelo caminho do diretório onde se encontra o interpretador Perl no servidor.

#!/usr/local/bin/perl

A rotina principal

Seguindo o esquema descrito logo no início, temos:

O cabeçalho

O cabeçalho contém apenas linhas de comentário que serão ignoradas pelo interpretador Perl. As linhas de contém o NOME do script, sua VERSÃO, o AUTOR, a DATA e observações consideradas importantes. Costuma-se também adicionar o histórico das versões e, eventualmente, indicações de como instalar o script no servidor.

######################################################################### # # contato.cgi - versão 1.0 # by vickisoft 1999 - webmaster arroba numaboa ponto com # # Uma referência ou um link para este tutorial # será muito apreciado (e fará um bem danado ao meu ego ;-) # # Chamar script com: # # #################### # Variáveis configuráveis # #################### # endereços de email $masterEmail = "webmaster\@numaboa.com"; # Imagens nas páginas dinâmicas $imgLogo = "suaLogo.gif"; $imgFundo = "seuFundo.jpg"; # Referências da URL da Home Page $urlHP = "http://www.numaboa.com";

As linhas em branco são ignoradas pelo interpretador Perl. Portanto, para obter um script "arrumado", de visual agradável e mais adequado para receber futuras manutenções e melhorias, não economize linhas em branco e linhas de comentário bem destacadas.

Este bloco de variáveis configuráveis está logo no início do script para facilitar o trabalho do usuário. Nele se encontram algumas variáveis que serão utilizadas quando o script for executado. O escopo dessas variáveis é global, pois foram definidas no corpo principal do script. Isto significa que qualquer subrotina ou função tem acesso direto a essas variáveis.

Todas as variáveis deste bloco são variáveis simples (escalares).

A variável $masterEmail contém uma string com o endereço de email para o qual deverá ser enviada a mensagem do usuário. Note que a arroba (@) é precedida por uma barra invertida (\). Essa notação é necessária para que a arroba não seja interpretada como um caractere especial.

As variáveis restantes também são do tipo string e seguem as regras normais de notação, ou seja, $nomeDaVariável="valor da variável";. Não se esqueça de iniciar o nome com o caractere $ e de terminar a atribuição com um caractere ;. Um erro muito comum é esquecer o famigerado ponto-e-vírgula que, por ser pequeno, costuma ser difícil de achar...

As variáveis $imgLogo e $imgFundo contém o nome dos arquivos que contém as imagens da logo e do fundo de página que serão incorporadas ao código HTML das páginas de formulário e de agradecimento. Caso se encontrem num diretório diferente do diretório do script, este precisa preceder o nome do gráfico ($imgLogo="/imagens/suaLogo.gif";)

A variável $urlHP indica o endereço URL da sua Home Page (não o caminho relativo) e será utilizada para produzir um link no email de agradecimento.

As variáveis do script

# ########### # Variáveis do script # ########### $programaMail = "/usr/lib/sendmail -t";

Apenas uma variável foi definida neste bloco, a $programaMail, que contém o caminho do serviço de email disponibilizado pelo seu provedor de serviços (servidor). Caso você desconheça o caminho, solicite a informação ao seu provedor. Geralmente os mailers são configurados em /usr/lib/sendmail, /usr/bin/sendmail ou /usr/sbin/sendmail. O parâmetro -t refere-se ao programa sendmail.

Informações adicionais