Perlにはクラスがないので、自分でクラスを作る必要がある。

perl - 万能なnewの書き方
http://blog.livedoor.jp/dankogai/archives/50816007.html

Perl 5のOOは、慣れてしまうと簡単だ。

package Klass;

sub new {
my $thing = shift;
my $class = ref $thing || $thing;
my $self = bless { @_ } => $class;
$self->init() if $self->can('init');
$self;
}

our %default = (name => 'anonymous');

sub init {
my $self = shift;
$self->{$_} = $default{$_} for keys %default;
$self->SUPER::init() if $self->can('SUPER::init');
$self;
}

package Klass::Sub;
our @ISA = qw/Klass/;

our %default = ('名前' => 'ななし');
*init = \&Klass::init;