我有一个 1.agi 文件,它使用以下代码设置星号变量
$AGI->set_variable("MY_CALLID",$value);
我在 2.agi 中使用以下代码行来检索该值(此处的值为20)
my $MY_CALLID = $AGI->get_variable('MY_CALLID');
$LOG->debug($AGI->get_variable('MY_CALLID'));
在控制台中,我可以看到该值由星号返回。但变量无法捕捉它。请参阅下面的日志(我正在使用Log :: Log4perl)
<SIP/tufli-0000000d>AGI Rx << GET VARIABLE MY_CALLID
<SIP/tufli-0000000d>AGI Tx >> 200 result=1 (20)
<SIP/tufli-0000000d>AGI Rx << GET VARIABLE MY_CALLID
<SIP/tufli-0000000d>AGI Tx >> 200 result=1 (20)
Warning: Log message argument #1 undefined at /var/lib/asterisk/agi-bin/xxx/2.agi line 35
Use of uninitialized value in join or string at /usr/local/share/perl5/Log/Log4perl/Appender.pm line 177, <STDIN> line 23.
Warning: Log message argument #1 undefined at /var/lib/asterisk/agi-bin/xxx/2.agi line 35
Use of uninitialized value in join or string at /usr/local/share/perl5/Log/Log4perl/Appender.pm line 177, <STDIN> line 23.
<SIP/tufli-0000000d>AGI Rx << 2016-06-15 15:59:40.983 | DEBUG | at /var/li | main :35 |
我错过了什么?!
正如一些其他信息,我正在使用
$| = 1;
在我的脚本开始时(只是怀疑它是否必须对此做任何事情)。
我看到了一个类似的问题here @ SO,但它是关于用户输入而不是星号变量。