package HashInstance;



sub new {

    my $type   = shift;

    my %params = @_;

    my $self   = {};

    $self->{High} = $params{High};

    $self->{Low}  = $params{Low};

    return bless $self, $type;

}



package ArrayInstance;



sub new {

    my $type   = shift;

    my %params = @_;

    my $self   = [];

    $self->[0] = $params{Left};

    $self->[1] = $params{Right};

    return bless $self, $type;

}



package main;



$a = HashInstance->new( High => 42, Low => 11 );

print "High=$a->{High}\n";

print "Low=$a->{Low}\n";



$b = ArrayInstance->new( Left => 78, Right => 40 );

print "Left=$b->[0]\n";

print "Right=$b->[1]\n";

