在Perl中使用变量引用哈希键

时间:2018-10-01 16:33:16

标签: perl hash key

我正在尝试创建一个Perl脚本,该脚本允许我使用变量访问哈希键/值。

下面的代码是脚本的一个非常高级的示例。有什么方法可以用变量引用哈希键吗?似乎$ hash_exmp {$ temp_var}没有被接受。

for(var i=0; i<resultObj.itemArray.length; i++){
   var video = resultObj.itemArray[i];
   html += "<tr>";
   switch(i){
   case 0:
       html += "<td>" +
       "<a href='https://www.youtube.com/watch?v=kbKtFN71Lfs' target='_blank'>" + 
       "<img src='https://i.ytimg.com/vi/kbKtFN71Lfs/maxresdefault.jpg' 
       style='width:200px;height:200px;'></td>";
       break;
   case 1:
       html +=  "<td>" +
       "<a href='http://www.youtube.com/watch?v=SjIHB8WzJek' target='_blank'>" + 
       "<img src='http://i.ytimg.com/vi/SjIHB8WzJek/0.jpg' 
       style='width:200px;height:200px;'></td>";
       break;
   case 2:
       html += "<td>" +
       "<a href='http://www.youtube.com/watch?v=YCXmUi56rao' target='_blank'>" + 
       "<img src='http://i.ytimg.com/vi/YCXmUi56rao/0.jpg' 
       style='width:200px;height:200px;'></td>";
       break;
   case 3:
       html += "<td>" +
       "<a href='http://www.youtube.com/watch?v=aQxCnmhqZko' target='_blank'>" + 
       "<img src='http://i.ytimg.com/vi/aQxCnmhqZko/0.jpg' 
       style='width:200px;height:200px;'></td>"
       break;

   case 4:
       html += "<td>" +
       "<a href='http://www.youtube.com/watch?v=jPcBU0Z2Hj8' target='_blank'>" + 
       "<img src='http://i.ytimg.com/vi/jPcBU0Z2Hj8/0.jpg' 
       style='width:200px;height:200px;'></td>";
       break;

   }

2 个答案:

答案 0 :(得分:1)

如果我正确理解您要做什么,那么您需要这样的东西:

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";
}

答案 1 :(得分:0)

问题是,当我将键更改为字符串名称时,它会将我的键设置为变量,这是可行的。换句话说,我从$ key1 =>“ file1”更改为key1 =>“ file1”