use strict; package person; use Class::InstanceVariables qw( $first $last $middle ); sub new{ my $class = shift; local $self = instance(); $first = shift; $middle = shift; $last = shift; return $self; } sub full_name{ local $self = shift; return "$last, $first $middle"; } sub marry{ local $self = shift; my $spouse = shift; return "$first married ".$spouse->first(); } package main; my $john = new person(qw(John F Jones)); my $sue = new person(qw(Suzy P Edwards)); print $john->full_name()."\n"; print $sue->full_name()."\n"; print $john->marry($sue)."\n";