[Cascavel-pm] get/set com AUTOLOAD
Joenio Marques
joenio em gmail.com
Quarta Dezembro 28 08:45:47 PST 2005
Boa tarde Monges,
Estou precisando de uma ajudinha aqui...
Criei uma classe com metodos get/set utilizando AUTOLOAD, assim:
sub AUTOLOAD {
my $self = shift;
my $attr = our $AUTOLOAD;
$attr =~ s/.*://;
return if $attr =~ /::DESTROY$/;
$self->{$attr} = shift if @_;
return $self->{$attr};
}
Numa outra classe faço isso:
$url =~ /id=(.+?)&/;
$obj->codigo($1);
$obj é uma instancia da minha classe com AUTOLOAD
e codigo é um dos atributos da classe.
Mas isso não esta funcionando, o atributo não é setado.
Fazendo da forma abaixo funciona:
$url =~ /id=(.+?)&/;
$obj->codigo("$1"); #note aspas
OU
$url =~ /id=(.+?)&/;
$cod = $1;
$obj->codigo($cod);
Alguem poderia me ajudar a entender o que esta acontecendo?
Grato,
--
Joenio Marques
- Salvador Perl Mongers
Mais detalhes sobre a lista de discussão Cascavel-pm