#!/usr/bin/perl5 -Tw ###### persontest.pl ###### perltoot ###### Person class Test code (page 4) use Person; $him = Person->new(); $him->name("Jason"); $him->age(23); $him->peers( "Norbert", "Rhys", "Phineas" ); push @allRecs, $him; #save object in array for later use printf "%s is %d years old.\n", $him->name, $him->age; print "His peers are:", join (", ", $him->peers), "\n"; printf "Last rec's name is %s\n", $allRecs[-1]->name; ###### person.pm ###### perltoot Person class ###### page 5 package Person; use strict; # object constructor sub new { my $self = {}; $self->{NAME} = undef; $self->{AGE} = undef; $self->{PEERS} = []; bless $self; return $self; } # per-object data access methods # With args, set the value; without only retrieve value(s) sub name { my $self = shift; if (@_) { $self->{NAME} = shift; } return $self->{NAME}; } sub age { my $self = shift; if (@_) { $self->{AGE} = shift;} return $self->{AGE}; } sub peers { my $self = shift; if (@_) { @{ $self->{PEERS} } = @_ } return @{ $self->{PEERS} } } 1;