package ConcretePrototype1; use strict; use base qw(Prototype); sub new { my $class = shift; my $self = {}; $self->{i} = shift; bless $self, $class; } sub clone { my $self = shift; return ConcretePrototype1->new($self->{i}); } sub get { my $self = shift; return $self->{i}; } sub set { my $self = shift; $self->{i} = shift; } 1;