38 lines
983 B
Perl
38 lines
983 B
Perl
|
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";
|