我正在尝试将字符串映射传递给我正在使用.mi文件进行的服务调用。
我正在尝试以下但是它在");"时给出了语法错误。
my $serviceResult = PI::employee::register::Service->saveAttributes(
attributesMap => map { ('session-id' => $Session->getSessionId())}
);
如果我改为尝试
my $serviceResult = PI::employee::register::Service->saveAttributes(
attributesMap => map { 'session-id' => $Session->getSessionId()}
);
它说地图的论据不够。 :(
答案 0 :(得分:3)
if(false); //Explicit boolean
$true = true; if($true); //Variable that was assigned a constant boolean
if(ClassName::Constant); //Class constant
if(1>2); //Constant value expression
中记录的Perl map
函数需要BLOCK
(或EXPR
)和LIST
。您没有提供LIST
,因此您的代码无法编译。
您可以通过提供列表来消除解析错误:
map { ('session-id' => $Session->getSessionId()) } (1)
但这几乎肯定不是你想要的。您错误地使用map
。您需要从键到值的映射,这不是map
函数的用途。
而不是调用map
,看起来你需要像
{ 'session-id' => $Session->getSessionId() }