Nylon Tecnologia
Mudamos para um dominio proprio.

Acesse nosso novo forum.

http://crawlersnetwork.com/

Participe do fórum, é rápido e fácil

Nylon Tecnologia
Mudamos para um dominio proprio.

Acesse nosso novo forum.

http://crawlersnetwork.com/
Nylon Tecnologia
Gostaria de reagir a esta mensagem? Crie uma conta em poucos cliques ou inicie sessão para continuar.

[tutorial] funçoes externas no perl

Ir para baixo

[tutorial] funçoes externas no perl Empty [tutorial] funçoes externas no perl

Mensagem por hacker fts315 Sex Ago 24, 2012 3:18 pm

bom galera muitas vezes se faz necessario dividir a source em varios arquivos menores ate pq quanto maior a source mais dificil de entender e modificar, para criar um arquivo de funçoes basta salvar o arquivo com extensao .pm no caso eu chamei o meu aq de fts.pm vc pode colocar esse arquivo em dois lugares o primeiro na pasta da source ou entao na pasta do interpletador perl chamado lib, aq fica no

C:\Perl\lib

para nao misturar com os outros arquivos eu criei uma pasta chamada hack dentro da pasta lib, entao eu coloquei meu arquivo la dentro, agora vamos criar o cabeçalho do nosso arquivo de funçoes para usamos package mais o local, no me caso ele ta em uma pasta chamada hack e o arquivo chama fts entao colocamos assim

Código:
package hack::fts;

logo em seguida usamos isso require exporter e @ISA = qw(Exporter)

Código:
package hack::fts;

require Exporter;
@ISA = qw(Exporter);

para terminar usamos @EXPORT_OK = qw() e passamos como argumento para qw o nome das funçoes (dando espaço a cada nome)

Código:
package hack::fts;

require Exporter;
@ISA = qw(Exporter);
@EXPORT_OK = qw(fts_soma fts_multiplicar);

veja um exemplo mais completo

Código:
package hack::fts;

require Exporter;
@ISA = qw(Exporter);
@EXPORT_OK = qw(fts_soma fts_multiplicar);

sub fts_soma
{
  print $_[0] + $_[1];
}

sub fts_multiplicar
{
  print $_[0] * $_[1];
}

e na source do seus programa basta chamar o arquivo usando use mais o local e as funçoes

Código:
#!/usr/bin/perl

use hack::fts qw(fts_soma);

fts_soma(300,15);

by hacker fts315
hacker fts315
hacker fts315
Membro

Mensagens : 53
Pontos : 8857
Reputação : 32
Data de inscrição : 12/08/2012

http://endoffile.umforum.net

Ir para o topo Ir para baixo

Ir para o topo

- Tópicos semelhantes

 
Permissões neste sub-fórum
Não podes responder a tópicos