Person.pm:
#!/usr/bin/perl-w
package Person;
use strict;
use English;
use warnings;
sub new {
my $self = {};
shift;
my ($name, $age) =@_;
$self->{name} =$name;
$self->{age} =$age;
bless ($self);
}
sub change_name {
my $self = shift;
#print$self."\n";
my $name = shift;
#print$name."\n";
$self->{name} =$name;
}
my $object_person = Person->new("Tom", 26);
print "Name:".$object_person->{name}."\n";
$object_person->change_name("Jim");
print "Name:".$object_person->{name}."\n";
----------------------------------------------------------------------------------
Employee.pl:
#!/usr/bin/perl -w
package Employee;
use Person;
@ISA = qw(Person);
use strict;
use English;
use warnings;
sub new {
shift;
my ($name, $age, $salary) = @_;
my $self = Person->new($name, $age);
$self->{salary} = $salary;
bless ($self);
return $self;
}
sub change_salary {
my $self = shift;
my $new_salary = shift;
$self->{salary} = $new_salary;
}
my $object_employee =Employee->new ("Tonny", 28, 10000);
print "Name: " .$object_employee->{name} . ", Age: " . $object_employee->{age}.
", Salary: " .$object_employee->{salary} . ".\n";
$object_employee->change_name("Tommy");
$object_employee->change_salary(13000);
print "Name: " .$object_employee->{name} . ", Age: " . $object_employee->{age}.
", Salary: " .$object_employee->{salary} . ".\n";