LINUX.ORG.RU

perl djabberd


0

0

Хочу запустить djabberd на perl 5.10,

а его автор похоже не хочет...

Подскажите пжлста, на что можно заменить такое:

        # 'fields' hackery.  this will break in Perl 5.10
        {
            no strict 'refs';
            $self->[0] = \%{$class . "::FIELDS" }
        }
★★★★★

eval '$self->[0] = \%' . $class . "::FIELDS" или что-то в этом духе не прокатит? 5.10 у меня под рукой нет, проверить не могу.

Teak ★★★★★
()
Ответ на: комментарий от Teak

Я только седня попробовал.

Изначально было

5764 ERROR DJabberd.Connection.ClientIn 1 disconnected DJabberd::Connection::ClientIn=HASH(0x8bb94a8) because: Not an ARRAY reference at /usr/share/perl5/vendor_perl/DJabberd/Stanza.pm line 21.

с eval стало

13311 ERROR DJabberd.Connection.ClientIn 1 disconnected DJabberd::Connection::ClientIn=HASH(0x8bb92b0) because: Modification of a read-only value attempted at /usr/share/perl5/vendor_perl/DJabberd/Stanza.pm line 23.

sergej ★★★★★
() автор топика
Ответ на: комментарий от sergej

Что-то совсем простое, но смотреть надо самому, а у меня 5.10 нигде нету, сорри. Если разберёшься — отпиши для гугля. :)

Teak ★★★★★
()
Ответ на: комментарий от Teak

это похоже приведение типа объекта.

надо разобраться как это сделать с use fields без хаков...

sergej ★★★★★
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.