Ссылки на хеш-ключи с переменной в perl - PullRequest
0 голосов
/ 01 октября 2018

Я пытаюсь создать сценарий Perl, который позволяет мне получить доступ к хеш-ключу / значению с помощью переменной.

Приведенный ниже код является примером сценария очень высокого уровня.Есть ли способ ссылаться на ключ хеша с помощью переменной?Похоже, что $ hash_exmp {$ temp_var} не принимается.

my %hash_exmp = (
    $key_1 => "file1",
    $key_2 => "file2",
    $key_3 => "file3",
);

for($i = 1; $i <= 3; $i++){
    for($j = 1; $j <= 3; $j++){     
        print $j;            
        $temp_var = "key_${i}";
        print $hash_exmp{$temp_var};
    };
};

Ответы [ 2 ]

0 голосов
/ 01 октября 2018

Если я правильно понимаю, что вы пытаетесь сделать, вы хотите что-то вроде этого:

my %hash_exmp = (
    'key_1' => "file1",
    'key_2' => "file2",
    'key_3' => "file3",
);
for(my $i = 1; $i <= 3; $i++){
    print $hash_exmp{'key_'.$i} . "\n";
}
0 голосов
/ 01 октября 2018

Проблема заключалась в том, что мои ключи стали переменными, когда я изменил их на строковые имена, это работает.Другими словами, я изменил с $ key1 => "file1" на key1 => "file1"

...