package Employee; sub spawn { my $class = shift; my $self = { empid => 200, name => "Joe", pay => 20, @_, }; return bless $self, $class; } sub get_name { my $self = shift; return $self->{name}; } sub set_name { my $self = shift; $self->{name} = shift; } sub get_pay { my $self = shift; return $self->{pay}; } sub set_pay { my $self = shift; $self->{pay} = shift; } package main; $wk1 = Employee->spawn(name=>"Joe", empid=>201, pay=>25); $wk2 = Employee->spawn(name=>"Moe"); $wk3 = Employee->spawn(name=>"Bob", empid=>202); print $wk1->get_name," Earns ",$wk1->get_pay," dollars per hour. His/her Emp ID is: ",$wk1->{empid}; print $wk2->get_name," Earns ",$wk2->get_pay," dollars per hour. His/her Emp ID is: ",$wk2->{empid}; print $wk3->get_name," Earns ",$wk3->get_pay," dollars per hour. His/her Emp ID is: ",$wk3->{empid}; print "Got this far!"; $wk1->set_pay(70); $wk2->set_name("NewMoe"); use Data::Dumper; print Dumper $wk1; print Dumper $wk2; print Dumper $wk3;