[Cascavel-pm] Res: Utilizando packages

Joenio Costa joenio em gmail.com
Quinta Março 13 15:02:23 PDT 2008


Estendendo a idéia do nosso amigo _mx_ de não ter que colocar
referencia ao caminho do seu pacote direto no código eu utilizaria o
modulo FindBin que vem "de grátis" com o Perl.

http://perldoc.perl.org/FindBin.html

E no teu script limpeza.pl voce coloca algo assim e nunca mais se
preocupa com a localização deles:

 use FindBin;
 use lib "$FindBin::Bin";
 use limpeza;

Att,

Em 13/03/08, _mx_<mxsoares em gmail.com> escreveu:
> Como não gosto de ter informar o path da aplicação dentro da mesma
> (dificulta portabilidade, posso até perder desempenho, mas...), costumo
> fazer
>
> BEGIN {
>     use File::Basename qw(dirname);
>     use Cwd qw(realpath);
>      push(@INC, dirname(realpath($0)));
> }
>
>
> 2008/3/13 Nélio Nunes <nelio.nunes em sapo.pt>:
>
> >
> > Outra alternativa seria indicar ao perl qual o caminho para os seus
> módulos:
> >
> >
> > use lib "/scripts";
> >
> >
> >
> >
> >
> >
> > []'s
> >
> >
> > Nélio Nunes
> > nelio.nunes em sapo.pt
> >
> >
> >
> >
> >
> >
> >
> >
> > On Mar 13, 2008, at 5:40 PM, Daniel (R) Antunes wrote:
> >
> >
> >
> >
> >
> >
> > Uma maneira é informar no #!/usr/bin/perl o caminho da sua aplicação assim
> :
> >
> > #!/usr/bin/perl -I/scripts
> >
> >
> >  Daniel (R) Antunes
> > profissional de informática
> > gnu/linux user #238553
> >
> >
> >
> > ----- Mensagem original ----
> > De: Marcelo Bom Jardim Villasanin <jesmarcelo em hotmail.com>
> > Para: Cascavel Perl Mongers <cascavel-pm em pm.org>
> > Enviadas: Quinta-feira, 13 de Março de 2008 14:31:50
> > Assunto: Re: [Cascavel-pm] Utilizando packages
> >
> >
> > A parte do codigo é está:
> >
> > #!/usr/bin/perl
> > use limpeza;
> > my $limpeza = new Limpeza();
> >
> >
> > Quando tento executar a partir do mesmo diretório funciona:
> >
> > perl limpeza.pl -> funciona
> >
> > Quando tento executar a partir de outro diretório não funciona:
> >
> > perl /scripts/limpeza.pl -> não funciona
> >
> > apresenta o seguinte erro:
> >
> > Can't locate limpeza.pm in @INC (@INC contains:
> /usr/lib/perl5/5.8.3/i586-linux-thread-multi
> /usr/lib/perl5/5.8.3
> /usr/lib/perl5/site_perl/5.8.3/i586-linux-thread-multi
> /usr/lib/perl5/site_perl/5.8.3 /usr/lib/perl5/site_perl
> /usr/lib/perl5/vendor_perl/5.8.3/i586-linux-thread-multi
> /usr/lib/perl5/vendor_perl/5.8.3 /usr/lib/perl5/vendor_perl
> .) at /scripts/limpeza.pl line 3.
> > BEGIN failed--compilation aborted at /scripts/limpeza.pl line 3.
> >
> >
> >
> >
> >
> > ________________________________
> > Date: Thu, 13 Mar 2008 14:25:41 -0300
> > > From: gabriel.vieira em gmail.com
> > > To: cascavel-pm em pm.org
> > > Subject: Re: [Cascavel-pm] Utilizando packages
> > >
> > > Poste o código de como você faz a requisição.
> > >
> > > 2008/3/13 Marcelo Bom Jardim Villasanin <jesmarcelo em hotmail.com>:
> > > >
> > > > Fala pessoal,
> > > >
> > > > Criei um package e estou chamando o mesmo da seguinte forma:
> > > >
> > > > use limpeza;
> > > >
> > > > está funcionando normalmente porém quando tento executar o script a
> partir
> > > > de outro diretorio ele não acha o package, como posso corrigir isto ?
> > > >
> > > > Abs,
> > > > Marcelo Bom Jardim
> > > >
> > > > _______________________________________________
> > > > Cascavel-pm mailing list
> > > > Cascavel-pm em pm.org
> > > > http://mail.pm.org/mailman/listinfo/cascavel-pm
> > > >
> > >
> > >
> > >
> > > --
> > > Gabriel Vieira
> > > _______________________________________________
> > > Cascavel-pm mailing list
> > > Cascavel-pm em pm.org
> > > http://mail.pm.org/mailman/listinfo/cascavel-pm
> >
> >
> >
> > -----Anexo incorporado-----
> >
> > _______________________________________________
> > Cascavel-pm mailing list
> > Cascavel-pm em pm.org
> > http://mail.pm.org/mailman/listinfo/cascavel-pm
> >
> > ________________________________
> Abra sua conta no Yahoo! Mail, o único sem limite de espaço para
> armazenamento!
> _______________________________________________
> >
> > Cascavel-pm mailing list
> > Cascavel-pm em pm.org
> > http://mail.pm.org/mailman/listinfo/cascavel-pm
> >
> > _______________________________________________
> > Cascavel-pm mailing list
> > Cascavel-pm em pm.org
> > http://mail.pm.org/mailman/listinfo/cascavel-pm
> >
>
>
> _______________________________________________
>  Cascavel-pm mailing list
>  Cascavel-pm em pm.org
>  http://mail.pm.org/mailman/listinfo/cascavel-pm
>


-- 
Joenio Costa
- Salvador Perl Mongers - Grupo de Usuário Perl de Salvador
- Colivre - Cooperativa de Tecnologias Livres
- PSL-BA - Projeto Software Livre Bahia


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