2012-10-17 5 views
0

내가 데이터 : 덤퍼를 통해 표시되는 응답 한 - ($ cat_response-> 결과 -> { '카테고리'}) 덤퍼를펄 해시 배열 foreach는 문제

$VAR1 = { 'literature' => '1120', 'law' => '1153', 'arts and crafts' => '1132', 'children' => '1141', 'hobbies' => '1133', 'economy' => '1166', 'jobs' => '1140', 'media' => '1144', 'music' => '1147', 'animals' => '1170', 'business' => '1119', 'diet' => '1122', 'travel reviews' => '1154', 'jewelry' => '1157', 'movies' => '1146', 'television' => '1125', 'politics' => '1168', 'internet' => '1139', 'history' => '1129', 'recipes' => '1156', 'press releases' => '1151', 'presents' => '1128', 'marketing' => '1143', 'translations' => '1162', 'fashion' => '1145', 'technology' => '1163', 'real estate' => '1138', 'computer' => '1173', 'automobile' => '1116', 'finances' => '1126', 'weddings' => '1134', 'games' => '1127', 'esoterism' => '1124', 'horoscopes' => '1135', 'shopping' => '1123', 'humor' => '1137', 'miscellaneous' => '1159', 'science' => '1167', 'programming' => '1152', 'languages' => '1161', 'beauty' => '1117', 'sports' => '1160', 'hotels' => '1136', 'plants' => '1149', 'education' => '1118', 'traveling' => '1155', 'health' => '1130', 'telecommunication' => '1164', 'environment' => '1171', 'software' => '1158', 'sweepstakes' => '1131', 'logistics' => '1142', 'home and family' => '1169', 'news' => '1148' }; 

에 액세스하려면, 내가 사용 :

my %categories = $cat_response->result->{'categories'}; 
foreach my $cat (keys (%categories)) { 
    <option value="<% $categories{'$cat'} %>"><% $cat %></option> 
} 

그러나, 덤퍼 ($ 고양이)의 값은 다음의 $ VAR1 = 'HASH (0x7fe972641560)';

내가 뭔가를 놓쳤습니까?

답변

2

누락되었습니다. use strict; use warnings;입니다. (음, Perl이 문제에 관해 당신에게 말한 것을 잊어 버렸습니다.)

$cat_response->result->{'categories'}에는 해시에 대한 참조가 들어 있습니다. 그것을 해시에 할당하는 것은 의미가 없습니다.

my $categories = $cat_response->result->{'categories'}; 
foreach my $cat (keys (%$categories)) { 
    <option value="<% $categories->{'$cat'} %>"><% $cat %></option> 
} 
+0

사과드립니다. 일반적으로 엄격한 경고를 사용합니다. 그것이 문제라고 생각하지 않았습니다. 도움을 주셔서 감사합니다. –

+0

실제로'use strict; 경고를 사용하십시오. '코드에 여기에 게시하지만 사용하길 기대합니다. 그럴 경우 Perl은 해시에 할당되는 홀수 개의 값에 대해 불만을 제기했을 것입니다. – ikegami