2015-11-14 5 views
2

Когда я пытаюсь установить модуль Crypt :: TEA к PERL 5.18 на Windows 7, отображается сообщение об ошибке:Can`t установки PERL модуль Crypt :: TEA

TEA.xs: In function 'XS_Crypt__TEA_crypt': TEA.xs:58:9: error: invalid use of void expression

+0

У меня такая же ошибка. SvUPGRADE не возвращает значение и не может использоваться, как он используется. – Schwern

ответ

5

Проблема заключается в this line:

if (SvREADONLY(output) || !SvUPGRADE(output, SVt_PV)) 
     croak("cannot use output as lvalue"); 

SvUPGRADE() - макрос с двумя действиями void, он не возвращает значение. Он будет скрипеть, если он потерпит неудачу. Измените его так:

if (!SvREADONLY(output)) 
     SvUPGRADE(output, SVt_PV);