मैं हैश के सम्मिलन आदेश को याद रखने के लिए IxHash का उपयोग कर सकता हूं।मैं नेस्टेड पर्ल हैश के सम्मिलन आदेश को कैसे बनाए रख सकता हूं?
use Tie::IxHash;
my %hash;
tie(%hash, 'Tie::IxHash');
%hash = (
x => 10,
z => 20,
q => { a1 => 1, a3 => 5, a2=>2,},
y => 30,
);
printf("keys %s\n", join(" ", keys %hash));
=> keys x z q y
नेस्टेड हैश के बारे में कैसे?
printf("keys %s\n", join(" ", keys %{$hash{q}}));
keys a2 a1 a3
मुझे संदेह है कि उत्तर है कि q हैश अज्ञात है और IxHash इसे देखने से पहले ऑर्डर खो गया है।
मुझे पता है कि मैं $ हैश {q} पर टाई कर सकता हूं और फिर तत्व जोड़ सकता हूं, लेकिन मुझे हैश बनाने के लिए एकल असाइनमेंट का उपयोग करना पसंद है।
क्या कोई चाल है?