Beefy Boxes and Bandwidth Generously Provided by pair Networks
Just another Perl shrine
 
PerlMonks  

Re^3: Problem with Class

by lamprecht (Friar)
on Jan 03, 2011 at 19:09 UTC ( [id://880239]=note: print w/replies, xml ) Need Help??


in reply to Re^2: Problem with Class
in thread Problem with Class and AUTOLOAD with GTK

Hi,

the methods you install in AUTOLOAD always reference their first invocant/arg. You will have to use something like (untested):

*{$AUTOLOAD} = sub {my ($self, $newval) = @_; $self->{$property_name} = $newval };
Cheers, Chris

Replies are listed 'Best First'.
Re^4: Problem with Class
by kapello (Initiate) on Jan 03, 2011 at 20:00 UTC
    Hi Chris! Great! I modify my Autoload.pm so ...
    package Autoload; use Locale::TextDomain ("kapello.it.$main::PROGRAM"); use Exporter; @ISA = qw (Exporter); @EXPORT = qw(AUTOLOAD); use Carp; sub AUTOLOAD{ my ($self, $newval) = @_; # Costruisco il metodo get if ($AUTOLOAD =~ /.*::get_(\w+)/){ my $property_name = $1; my $ref = ref($self->{$property_name}); if ($ref eq 'ARRAY'){ *{$AUTOLOAD} = sub { my ($self) = @_; @{$self->{$property_ +name}} }; my ($self) = @_; return @{$self->{$property_name}}; } else{ *{$AUTOLOAD} = sub {my ($self) = @_; $self->{$property_nam +e}}; my ($self) = @_; return $self->{$property_name}; } } # Costruisco il metodo set if ($AUTOLOAD =~ /.*::set_(\w+)/){ my $property_name = $1; *{$AUTOLOAD} = sub {my ($self, $newval) = @_; $self->{$propert +y_name} = $newval }; my ($self, $newval) = @_; return $self->{$property_name} = $newval; } # Deve esserci un errore croak __"Il metodo: $AUTOLOAD non è disponibile."; } 1;
    and seems works !!! Thank you!! ps. for now some test ... :-)

Log In?
Username:
Password:

What's my password?
Create A New User
Domain Nodelet?
Node Status?
node history
Node Type: note [id://880239]
help
Chatterbox?
and the web crawler heard nothing...

How do I use this?Last hourOther CB clients
Other Users?
Others chanting in the Monastery: (2)
As of 2026-04-12 22:47 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    No recent polls found

    Notices?
    hippoepoptai's answer Re: how do I set a cookie and redirect was blessed by hippo!
    erzuuliAnonymous Monks are no longer allowed to use Super Search, due to an excessive use of this resource by robots.