Check out "perldoc perltoot" under Class interface.

Cheers,

Jeff


At 01:43 PM 1/27/00 -0800, Etienne Pelaprat wrote:
>hi all,
>
>i'm starting out doing some Object Oriented programming with mod_perl
>and I define one object like this:
>
>sub new {
>         my $self = shift;
>         my $type = ref($self) || $self;
>
>         ## bless our object into the class and return it
>         return bless {
>         first_name => '',
>         last_name => '',
>         email_address => '',
>         @_
>         }, $type;
>}
>
>sub AUTOLOAD {
>         my $self = shift; ## grab the object we're being called on
>         my $type = $self || ref($self);  ## get the object type
>
>    return if $AUTOLOAD =~ /^DESTROY$/;
>
>         my $name = $AUTOLOAD;
>
>         $name =~ s/^.*://;
>
>         unless( exists $self->{$name} ) {
>                 croak "Error: Can't access field '$name' in object of class
>$type";
>         }
>
>         if (@_) {
>                 return $self->{$name} = shift;
>         } else {
>                 return $self->{$name};
>         }
>}
>
>## more functions ##
>
>Let's say this object is called SomePerson, and I create this object in
>one of my cgi scripts, like so (image SomePerson is part of package
>People):
>
>$some_person = People::SomePerson->new;
>
>how do I change the first_name, last_name, email_address variables?
>Would it be like this, if I'm doing it from inside the SomePerson
>object:
>
>$self->{first_name} = "Etienne";
>
>and like this from a regular cgi script:
>
>$some_person->first_name = "Etienne";
>
>or how?
>
>Thanks in advance,
>
>Etienne



Jeff Beard
_______________________________
Web:            www.cyberxape.com
Phone:  303.443.9339
Location:       Boulder, CO, USA

Reply via email to