Hashmap в Perl - PullRequest
       19

Hashmap в Perl

2 голосов
/ 17 января 2011

В настоящее время пишу клиентский API на Perl с использованием модуля FRONTIER :: CLIENT. Я пытаюсь сделать подобное в Perl следующим образом:

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

Как мне реализовать ту же идею в Perl?

Ответы [ 2 ]

7 голосов
/ 17 января 2011

Hashmaps - это собственная структура данных perl. Любая переменная, объявленная с хеш-символом%, является хеш-парой, хранящей ключевые значения. См. Эту документацию по типам данных Perl . Также см. Руководство по структурам данных Perl .

Редактировать

См. Этот пример

# This can be anything which returns pairs of strings
my %login_message = getData(); # ( 'key1' => 'value1', 'key2' => 'value2' ); 

for my $key ( keys %login_message ) { 
        print "key: $key, value: $login_message{$key}\n"; 
}

sub getData {
        return ( 'key1' => 'value1', 'key2' => 'value2' );
}

Выходы:

key: key2, value: value2
key: key1, value: value1
4 голосов
/ 17 января 2011

Следующий код является примером использования хэша в Perl:

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

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