我正试图将字符串的映射传递给我从.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()}
);
它说地图没有足够的论据(
Perl的map
函数,如perldoc -f map
中所述,采用BLOCK
(或EXPR
)和LIST
。您没有提供LIST
,因此您的代码不会编译。
您可以通过提供一个列表来消除解析错误:
map { ('session-id' => $Session->getSessionId()) } (1)
不过,这肯定不是你想要的。您错误地使用了map
。您想要一个从键到值的映射,这不是map
函数的作用。
您似乎需要一个类似的hashref,而不是调用map
{ 'session-id' => $Session->getSessionId() }