मैं एक लूप के माध्यम से बिना किसी हश को शुरू करने का तरीका जानने का प्रयास कर रहा हूं। मैं उस के लिए स्लाइस का उपयोग करने की उम्मीद कर रहा था, लेकिन ऐसा लगता है कि अपेक्षित परिणाम नहीं लग रहे हैं।मैं लूप के बिना हैश में मान कैसे प्रारंभ करूं?
निम्नलिखित कोड पर विचार करें:
#!/usr/bin/perl
use Data::Dumper;
my %hash =();
$hash{currency_symbol} = 'BRL';
$hash{currency_name} = 'Real';
print Dumper(%hash);
के रूप में की उम्मीद है और निम्नलिखित उत्पादन का उत्पादन इस काम करता है:
$VAR1 = 'currency_symbol';
$VAR2 = 'BRL';
$VAR3 = 'currency_name';
$VAR4 = 'Real';
जब मैं इस प्रकार स्लाइस इस्तेमाल करने की कोशिश, यह काम नहीं करता:
#!/usr/bin/perl
use Data::Dumper;
my %hash =();
my @fields = ('currency_symbol', 'currency_name');
my @array = ('BRL','Real');
@hash{@array} = @fields x @array;
उत्पादन होता है:
$VAR1 = 'currency_symbol';
$VAR2 = '22';
$VAR3 = 'currency_name';
$VAR4 = undef;
वहाँ स्पष्ट रूप से कुछ गलत है।
तो मेरे सवाल होगा: क्या एक हैश दो सरणियों (कुंजी और मूल्यों) दिया प्रारंभ करने में सबसे खूबसूरत तरीका है?
धन्यवाद - सही! – emx