के मूल्य में ऐरे क्या key : value
में मूल्य के रूप में सरणी के संदर्भ को असाइन करना संभव है?हैश perl
हैश perl
उत्तर
हां यह है। बैकस्लैश का उपयोग करके सरणी के लिए एक संदर्भ बनाएँ:
$hash{key} = \@array;
ध्यान दें कि यह वास्तविक सरणी से लिंक होगा, इसलिए यदि आप इस तरह के रूप में एक परिवर्तन करते हैं:
$array[0] = "foo";
भी मतलब है कि $hash{key}[0]
है कि "foo"
पर सेट करें।
अगर ऐसा नहीं कि आप क्या चाहते है, तो आप एक गुमनाम सरणी संदर्भ [ ... ]
का उपयोग करके मूल्यों कॉपी कर सकते हैं:
$hash{key} = [ @array ];
इसके अलावा, आप ऐसा करने के लिए में सरणी के माध्यम से जाने की जरूरत नहीं है। आप बस सीधे असाइन कर सकते हैं:
$hash{key} = [ qw(foo bar baz) ];
शायद ऑटोविविफिकेशन के बारे में कुछ शब्द? :) शुरुआती – gaussblurinc
@loldop के लिए जानना अच्छा है, हां, शुरुआत के लिए जानना बहुत सी चीजें अच्छी हैं, हालांकि, यहां हम ऑटोविविफिकेशन के बारे में बात नहीं कर रहे हैं, केवल सरल स्केलर मान असाइन किए जा रहे हैं। – TLP
मुझे लगता है कि आपका मतलब है "eq 'foo'" नहीं "== 'foo'" – mswanberg
में बनाने संदर्भों के बारे में और अधिक पढ़ें हां। इस तरह के डेटा संरचनाओं तक पहुँचने के लिए कुछ बुनियादी नियमों के लिए http://perlmonks.org/?node=References+quick+reference देखें, लेकिन यह बनाने के लिए, बस इन में से एक कार्य करें:
%hash = ('somekey' => \@arrayvalue);
$hash{'somekey'} = \@arrayvalue;
%hash = ('somekey' => [ ... ]);
use Data::Dumper; @name=('5/17',
'5/17','5/17','5/17','5/17','5/17','5/17','5/17'); @status_flags=('U
H L','U C','U H L','U C','U C','U H L','U C', 'U H L');
@ip_address=('192.168.0.11','192.168.0.2','192.168.0.13','192.168.0.0','192.168.0.3','192.168.0.12','192.168.0.4','192.168.0.14'); @dp_id=('0','0','0','0','0','0','0','0');
@ip_prefix_length=('32','32','32','24', '32', '32','32','32');
for ($value=0;$value<=5;$value++) {
$keyvals{'Response'}{'brocade-extension-ip-route'}{'extension-ip-route'}={'name'=>"$name[$value]"};
$keyvals{'Response'}{'brocade-extension-ip-route'}{'extension-ip-route'}={'dp-id'=>"$dp_id[$value]"};
$keyvals{'Response'}{'brocade-extension-ip-route'}{'extension-ip-route'}={'ip-address'=>"$ip_address[$value]"};
$keyvals{'Response'}{'brocade-extension-ip-route'}{'extension-ip-route'}={'ip-prefix-length'=>"$ip_prefix_length[$value]"};
$keyvals{'Response'}{'brocade-extension-ip-route'}{'extension-ip-route'}={'ip-gateway'=>'*'};
}
print Dumper \%keyvals;
Each array value assign into hash value. $var1= {
'Response' => {
'extension-ip-route' => {
'status-flags' => 'U H L '
,
'ip-gateway' => '*',
'name' => '0/2',
'ip-address' => '192.168.20.11',
'dp-id' => '0',
'ip-prefix-length'=>'32'
}
}
};
आपको अपना उत्तर संपादित करना चाहिए ताकि यह सही ढंग से स्वरूपित और पठनीय हो। – AeroBuffalo
- 1. perl
- 2. perl lwp
- 3. perl
- 4. perl
- 5. perl
- 6. perl
- 7. perl
- 8. perl
- 9. perl
- 10. perl
- 11. perl
- 12. perl
- 13. perl
- 14. perl
- 15. perl
- 16. perl
- 17. perl
- 18. perl
- 19. perl कमांड
- 20. रैंड() perl
- 21. डांसर perl
- 22. perl dbi
- 23. perl टैब
- 24. perl regex
- 25. जावास्क्रिप्ट हैश
- 26. perl: एनएच स्थिति
- 27. पुरानी perl sw
- 28. कीवर्ड पेड़ निर्माण perl
- 29. सी # perl के $ _
- 30. perl (अच्छी प्रैक्टिस): सॉकेट
[डाटा संरचनाओं रसोई की किताब] पर एक नज़र डालें (http: //perldoc.perl .org/perldsc.html # हैश-के-सरणियों)। – mpe