#!/usr/bin/perl
use strict;
use warnings;
{   package Hoge;
    sub new {
        my $class = shift;
        my $self = {var1 => "A"};
        bless $self, $class;
        return $self;
    }
    sub var1 {
        my $self = shift;
        return $self->{var1};
    }
    sub getValue {
        my $self = shift;
        return 1;
    }
}
{   package Hage;
    use base qw(Hoge);
    sub getValue {
        my $self = shift;
        return 2;
    }
}
my $hogehoge = Hoge->new();
print $hogehoge->getValue(), "\n";
my $hagehage = Hage->new();
print $hagehage->getValue(), "\n";