[Cascavel-pm] Dúvidas com rotina Perl

Eden Cardim edencardim em gmail.com
Quinta Maio 3 12:55:10 PDT 2007


On 5/3/07, marcos_r_scopel em whirlpool.com <marcos_r_scopel em whirlpool.com> wrote:
> Boa tarde pessoal,
>
> Tenho algumas rotinas escritas em Perl e a parte de envio de email não está
> funcionando. Sou novato em programação Perl e não estou conseguindo achar o
> problema, essas rotinas rodam em plataforma Windows.

Bem, faltam algumas coisas pra nós mortais e não-videntes nos ousarmos
a procurar o problema:
- Descrição do seu problema - "A parte de envio de email não está
funcionando" significa o que exatamente? As mensagens não estão sendo
enviadas? Tão sendo enviadas ao contrário? Pra pessoa errada? Pra você
mesmo? Alguém te disse que tá errado? Quem?
- Documentação - O que esse programa deveria estar fazendo?
- Esquema do Banco de Dados - Tô vendo consultas em SQL mas não faço
idéia de como é o banco de dados que você está consultando, então, a
princípio, pra mim o problema pode estar em qualquer lugar do seu SQL.
Ah, tb não consigo executar o programa porque não tenho como
reproduzir o banco de dados.
- Plataforma - Windows 1.0, 2.0, 3.0, 3.1, 95, 98, NT 4.0, 2k, XP ou
Vista? Qual versão do perl você está usando?

Já que você disse que é iniciante em Perl, dei uma olhada no fonte e
tenho algumas dicas gerais pra lhe dar:

- Sempre < use strict > e < use warnings >, sem eles nem o Larry Wall
vai achar o seu problema, mesmo se você fornecer as informações que
mencionei acima.
- Quando suas rotinas estiverem recebendo mais de 3 parâmetros, tá na
hora de quebrar ela em duas.
- Listas são suas amigas:

    # sai isso...
    # my $param1 = shift;
    # my $param2 = shift;
    # my $param3 = shift;

    # entra isso...
    my($param1, $param2, $param3) = @_;

- Slices também:

   # sai isso...
   # ($sec, $min, $hora, etc...) = localtime;
   # $hoje{'SEC'} = $sec;

   # $hoje{'MIN'} = $min;

   # $hoje{'HORA'} = $hora;

    # entra isso...
    @hoje{qw/SEC MIN HORA etc.../} = localtime;

espero ter ajudado...

-- 
Eden Cardim
Instituto Baiano de Biotecnologia
Núcleo de Biologia Computacional e Gestão de Informações Biotecnológicas
Laboratório de Bioinformática


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