[SP-pm] Módulo

Thomas Britis thomas em tcnet.com.br
Segunda Março 5 08:37:39 PST 2007


Senhores,

	Tenho uma pequena dúvida e com certeza vcs podem me ajudar.

	Fiz um pequeno teste da seguinte forma:

arquivo: UGLY.pm

package UGLY;
use strict;

sub new {
  my $self = {};

  bless $self;

  $self->{oi} = 3;
  return $self;
}

arquivo: teste.pl

BEGIN { unshift (@INC, "."); }
my $jj = UGLY->new();

print $jj->{oi}, "\n";

Pois bem, imprimiu o 3 como devido. Minha dúvida é: eu posso trabalhar 
com a mesma variavel jj (que é o $self retornado pelo new() do módulo) 
DENTRO do módulo? Explico:

Além da função new() no módulo eu tivesse:
sub bla {
  my $self = shift;

  $self->{tchau} = 10;
}

e chamasse no teste.pl:
$jj->tchau UGLY;
ou ainda:
$jj->tchau ($jj);
ou sei lá o que, mas que eu tivesse no arquivo pl (e não no módulo) o 
retorno da função bla, ou seja:
print $jj->{tchau}, "\n";

	Se fui muito confuso, por favor, me avisem.

	Obrigado.
-- 
Thomas Storino Britis
TCNet Informatica e Telecomunicacoes LTDA


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