संपादित करें:
हालांकि एक सामान्य हैश एक सुसंगत आदेश है, एक tied hash के मामले में चाबियों का आदेश अच्छी तरह से, परिभाषित नहीं के रूप में यह उपयोगकर्ता के नियंत्रित है!
हालांकि हैश कुंजी ऑर्डर नहीं बदलेगा, आपको शायद पुनर्विचार करना चाहिए कि आपको ऐसा करने की आवश्यकता क्यों है।
शायद आप हैश को दो के बजाय एक पास में संसाधित कर सकते हैं?
आपको हैश कुंजी को एक रक्षात्मक प्रोग्रामिंग अभ्यास के रूप में एक सरणी में सहेजना चाहिए, जब तक कि डेटा का आकार इतना बड़ा न हो कि डुप्लिकेट करना एक समस्या होगी। बोनस के रूप में, आप आसानी से सूची को सॉर्ट कर सकते हैं और हैश में एक अच्छी तरह परिभाषित क्रम में संसाधित कर सकते हैं। जैसे,
my @keys = sort keys %myHash;
इस हैश को संशोधित करने, के बाद से अपने सरणी आदेश जब तक आप इसे करना चाहते हैं कभी नहीं बदलेगा के साथ कोई समस्या से बचा जाता है।
यदि आप ऐसा नहीं करते हैं, तो आपको हैश को बदलने वाले कुछ भी नहीं करने के लिए बहुत सावधान रहना होगा, अन्यथा तत्वों का क्रम बदल जाएगा। यह सुनिश्चित करने के लिए कि हैश कभी संशोधित नहीं किया गया है, Readonly मॉड्यूल में देखें।
स्रोत
2009-08-10 19:38:35
जिज्ञासा से बाहर - आपको इस संपत्ति की क्या आवश्यकता है? – hillu
सब कुछ और कुछ भी वोट दे रहा है? – erjiang