Показать сообщение отдельно
Старый 24.10.2008, 11:43   #2
Cairin
Новичок
 
Регистрация: 30.12.2007
Сообщений: 2
По умолчанию Грабля с MMC

Значится так. Грабля с mmc в том состоит, что начиная с perl 5.9 отменили т.н. псевдо-хэши, на которых некоторые делали объекты. Для заведения mmc в свежих версиях perl лично я сделал следующее:

1) поставил из CPAN модуль Class::PseudoHash
2) недого думая, и не особо вникая в сруктуру программы тупо заменил во всех модулях куски типа

no strict 'refs';
my $class=shift;
my Ticker $self = bless [\%{"$class\::FIELDS"}], $class;
(строка с bless [\%{"$class\::FIELDS"}], $class; и объявления выше неё, до строки объявления функции) на

no strict 'refs';
my $self = shift;
$self = fields::new($self) unless ref $self;

Добавил вызов библиотек:
use Hash::Util;
use Class::PseudoHash;

Возможно чего-то и поломал или недочинил. Но за несколько недель игры сбоев не замечено. Использую триггера, подстановки, тикер, хуки.
Cairin вне форума   Ответить с цитированием