package Person; use warnings; use strict; use Carp; my $Population = 0; sub new { my $class = shift; my $self = {@_}; bless($self, $class); $Population++; return $self; } # Object accessor methods sub address { $_[0]->{address }=$_[1] if defined $_[1]; $_[0]->{address } } sub surname { $_[0]->{surname }=$_[1] if defined $_[1]; $_[0]->{surname } } sub forename { $_[0]->{forename}=$_[1] if defined $_[1]; $_[0]->{forename} } sub phone_no { $_[0]->{phone_no}=$_[1] if defined $_[1]; $_[0]->{phone_no} } sub occupation { $_[0]->{occupation}=$_[1] if defined $_[1]; $_[0]->{occupation} } # Class accessor methods sub headcount { $Population } 1; #!/usr/bin/perl use warnings; use strict; use Person; print "In the beginning: ", Person->headcount, "\n"; my $object = Person->new ( surname => "G", forename => "G", address => "Apts.", occupation => "tester" ); print "Population now: ", Person->headcount, "\n";