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