Arrays Perl中的Hashmap

Arrays Perl中的Hashmap,arrays,perl,hashmap,perl-module,Arrays,Perl,Hashmap,Perl Module,在本文中,我使用FRONTIER::client模块用Perl编写了一个客户端API。我尝试在Perl中执行类似的操作,如下所示: HashMap<Integer, String> message = (HashMap<Integer, String>)client.execute("APIWrapper.login"); System.out.println(message.get(1000)); HashMap message=(HashMap)client.ex

在本文中,我使用FRONTIER::client模块用Perl编写了一个客户端API。我尝试在Perl中执行类似的操作,如下所示:

HashMap<Integer, String> message = (HashMap<Integer, String>)client.execute("APIWrapper.login"); 
System.out.println(message.get(1000));
HashMap message=(HashMap)client.execute(“APIWrapper.login”);
System.out.println(message.get(1000));

如何在Perl中实现相同的想法?

Hashmaps是一种原生Perl数据结构。使用哈希符号%声明的任何变量都是存储键值对的哈希。请参阅上的此文档。另请参阅

编辑

产出:

key: key2, value: value2
key: key1, value: value1

以下代码是在Perl中使用哈希的示例:

my %data = (
    red => 1,
    blue => 37,
    green => 99,
);

print $data{'red'}, "\n";

我想出了下面的方法,但我得到了这个例外:“想要的数据,得到了标记值。我的%login_message={$server->call(“APIWrapper.loginRequest”)};而((我的$key,我的$VALUE)=每个%login_message){print”key:$key,VALUE:$login_message{$key}\n;}这就是我想到的:我的%login_message($server->call(“APIWrapper.loginRequest”,@credentials));对于我的$key(key%login_message){print“key:$key,value:$login_message{$key}\n”;}输出仍然保持不变:想要的数据,得到标记'value'@Gruther,您的错误是“想要的数据,得到标记'value'“不是内部Perl错误消息。请查看调用
$server->call(…)
的文档,看看它是否有关于错误的信息。对于Perl的内部错误,您可以使用手册页。感谢您的回复。我将尽可能进一步解释;$server->call(“Wrapper.loginRequest”,@credentials);此方法(Wrapper.loginRequest)返回hashmap键、值对。这是我试图在Perl中实现的java示例:Object[]params2=new Object[]{new String(“admin”),new String(“admin”)};hashmap result=(hashmap)client.execute(“Wrapper.loginRequest”,params2);System.out.println(result.get(1000));谢谢大家的帖子。我成功地修复了这个错误。问题出在frontier模块中。我切换到XML::RPC::FAST,看起来一切都很好。为什么整数不超过9个字符。我可以在Perl或Bigint中找到长整数吗?
my %data = (
    red => 1,
    blue => 37,
    green => 99,
);

print $data{'red'}, "\n";