На CPAN есть куча модулей для ООП, но те, что я видел / использовал по разным причинам меня не устраивали. Поиск продолжается...
Собственно, что хочу: protected и т.д. (с наследованием и полиморфизмом), небольшой список зависимостей, красивый синтаксис.
Пробовал Moose - как-то инопланетно (привыкнуть не смог), Class::* тоже выглядит не самым лучшим образом. Благословлённые ссылки... ну в них нет многого из перечисленного. Есть свой модуль, но вот думаю, может он - просто ещё один велосипед? Вот как мне представляется класс.
package ClassName;
protected a => 'a';
public 'b';
protected c => undef;
private d => 0xDEAD;
sub method1 : Protected
{
...
}
sub method2 : Public
{
...
}
sub method3 : Private
{
...
}
1;
Если уже есть готовая отлаженная реализация, просьба сообщить.
P.S. Тролли - проходите, комментаторы - игнорируйте троллей.