Я настоятельно рекомендую взглянуть на Moose, если вы хотите сделать OO на Perl. Однако, это не очень полезно, если вы не понимаете, что означает OO в Perl. Чтобы лучше понять, как Perl OO работает под капотом, я написал обзор в своем блоге: http://augustinalareina.wordpress.com/2010/06/06/an-introduction-to-object-oriented-perl/
С точки зрения структуры данных, объект является ссылкой с несколькими дополнительными функциями. Интерпретатор знает, что эти специальные ссылки следует рассматривать как Объекты, потому что они были «благословлены» ключевым словом «благослови». Благословенные ссылки содержат флаг, указывающий, что они являются Объектом. По сути это означает, что вы можете определять и вызывать методы для них.
Например, если вы создали базовый хеш-код, это не сработает:
$ Hashref-> Foo ();
Но если вы создаете благословенный хэш-реф (объект), это работает:
$ Blessed_hashref-> Foo ();
Moose является отличным модулем для ООП в Perl, поскольку он создает принудительный уровень ОО и автоматически обрабатывает методы доступа, поэтому вам не нужно определять группу методов получения и установки. Если вы хотите использовать Devel :: Peak, чтобы увидеть, как интерпретатор Perl хранит объекты, перейдите по ссылке на запись в блоге, которую я разместил выше.