Programando uma Intranet com Apache, MySQL e Perl (parte 1)

Um dia seu chefe virá para você e dirá: "Eu queria que estas aplicações que você fez para obter informações dos servidores fiquem disponíveis para o pessoal do atendimento nível 1"...

[ Hits: 35.490 ]

Por: Thiago Glauco Sanchez em 13/04/2010


Criando a primeira página Web com Perl



Abra o seu editor de textos e digite o código abaixo. Salve como "ambiente.pl" no diretório que está definido no item ScriptAlias do arquivo de configuração do seu Apache. Normalmente é uma pasta com o nome cgi-bin. No meu caso fica em /usr/lib/cgi-bin.

#!/usr/bin/perl

use warnings;
use strict;

use CGI; #Carrega o módulo CGI, que permite criarmos scripts cgi - claro!

my $cgi = CGI->new; #Criamos uma instância da classe CGI
print $cgi->header, # Primeiro criamos o Cabeçalho
      $cgi->start_html('Minha Primeira Página Perl'), # Iniciamos o Arquivo HTML
      $cgi->h1('BEM VINDO AO PERL'), # Cria a Tag <h1>TEXTO</h1>
      $cgi->p(scalar localtime), # Cria <p>Texto</p>
      $cgi->h3("Minhas Variáveis Locais:\n");

foreach my $chave (keys(%ENV)) {
   print $cgi->p($chave . " => $ENV{$chave}");
}

print $cgi->end_html; # Finalizamos o HTML

E veja o resultado no seu browser:
O nosso script primeiro cumprimenta o usuário, mostra a hora atual e apresenta as variáveis de ambiente. Bacana mas, antes de continuar vamos falar um pouco sobre o módulo CGI do Perl.

O módulo CGI é uma solução Perl completa e bem madura que pode receber e criar requisições HTTP. É uma solução com mais de dez anos de desenvolvimento e burilamento. Comecei está série de artigos com ela por que já está entre os principais e mais consagrados módulos do Perl.

Com ele podemos criar tags HTML em um estilo de programação orientado a objetos.

$meuObjetoCGI = CGI->new;
$meuObjetoCGI->tagHTML([parâmetros]);

A primeira vantagem desta forma de escrever códigos é a organização. O código é mais enxuto e legível que o HTML/XHTML tradicional. A outra vantagem é a possibilidade de criar páginas com estrutura dinâmica com pouco esforço. Mas a maior vantagem é poder levar o poder do Perl para suas aplicações Web.

Para ver uma característica prática, execute o script na linha de comando e veja a saída:
Perceba que na primeira linha invocamos strict e warning. Sempre use 'strict' e 'warning' em seus scripts Perl. Irá salvar muito tempo de trabalho com depuração. Depois nós carregamos o módulo CGI e criamos uma instância do mesmo:

$my $cgi = CGI->new

Utilizar o modo de orientação a objetos é uma boa prática, pois aplicações Web complexas exigem diversos módulos, e ficar usando alguns como objetos e outros como funções carregadas tornará seu código uma bagunça.

No trecho:

print $cgi->header,                    		
      $cgi->start_html('Minha Primeira Página Perl'), 
      $cgi->h1('BEM VINDO AO PERL'),		
      $cgi->p(scalar localtime),			
      $cgi->h3("Minhas Variáveis Locais:\n");

Estamos criando o cabeçalho HTML e criamos o corpo da página. A função 'localtime' retorna um array com o horário local, ou um string quando o contexto é escalar. A função scalar obriga a função localtime a retornar um escalar.

No penúltimo bloco de código:

foreach my $chave (keys(%ENV)) {
    print $cgi->p($chave . " => $ENV{$chave}");
}

Um hash é um tipo de variável do Perl que armazena valores relacionados a uma chave.

O hash %ENV é uma variável interna do Perl e carrega as variáveis de ambiente no formato:

%ENV = {Variável => valor_da_variável}. A função 'keys' retorna um array com todas as chaves do hash. Então, no nosso caso, retornará o nome de todas as variáveis de ambiente. E para cada uma delas - 'foreach' - ele irá mostrar no documento html o nome_da_variável => valor_va_variável.

E encerramos com:

print $cgi->end_html;

Página anterior     Próxima página

Páginas do artigo
   1. Porque Perl?
   2. Checando seu sistema
   3. Criando a primeira página Web com Perl
   4. Moral da história
Outros artigos deste autor

Programando uma Intranet com Apache, MySQL e Perl (parte 2)

Leitura recomendada

Introdução a CGI com a RFC 3875

Phperl, minha gambiarra para usar Perl como se fosse PHP

URL amigável com Perl

Catalyst Framework Perl - Parte III

Catalyst Framework Perl (parte 1)

  
Comentários
[1] Comentário enviado por juniomundo em 14/04/2010 - 00:17h

Muito obrigado Thiago Glauco,

Por falta de conhecimento, estava tentando executar o script em Perl em /var/www. Através de sua didática, foi simples executar o script. Mas tenho que dar o comando "chmod +x ambiente.pl" antes de executá-lo no browser. Muita paz e saúde pra ti.


[2] Comentário enviado por guess17 em 14/04/2010 - 08:40h

eu sinto que um dia ainda vou presizar disso keoakeoke , intão thanks
quando eu presizar está ai uma grande dica.

[3] Comentário enviado por vanlaban em 14/04/2010 - 10:46h



van_laban201021@yahoo.co.uk
van-Laban
My name is miss van-Laban i saw your profile today in my pravda search when i am searching honesty one i became interested in your profile i will also like to know you the more,(Remember the distance or co lour does not matter but love matters allot in life)HERE IS MY CONTACT EMAIL (van_laban201021@yahoo.co.uk) NOT IN THE SITE.SO I WILL GIVE YOU MY PICTURE AND TELL YOU MORE ABOUT MY SELF,
Thanks,
Miss Van Laban.
HERE IS MY CONTACT EMAIL (van_laban201021@yahoo.co.uk) NOT IN THE SITE

[4] Comentário enviado por BarbaNegra em 16/01/2011 - 08:19h

Cara dei muita risada no "Porque Perl?" hahahahahah muito bom artigo.

[5] Comentário enviado por Rafael Ceresoli em 21/12/2011 - 13:36h

Muito legal o testo.Ficou bem esplicativo.


Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts