using uninitialized hashes in perl -


मेरे पास 3 ग्लोबल हैश जो कि perl में परिभाषित हैं

  my% a = (); मेरा% b = (); मेरा% c = ();   

अब निम्न कोड दिखाई देता है: -

  यदि (जांच करेंसंयोजना) {% c =% a; } और {% c =% b; }% C   

पर कुछ कार्रवाइयां करें, लेकिन समस्या% a और% b के बाद से अभी भी आरम्भ नहीं की गई है,% c% a और% b का अनिर्धारित मान लेता है। ताकि ऑपरेशन जो अब मैं% c पर करता हूं वह मान्य% a या% b पर स्विच नहीं करता है। अर्थात् यदि मैं% c को% a असाइन करता हूं, तो बाद में मैं वापस आऊंगा अगर हालत फिर से आती है और अब% b ,% ए असाइन करने के लिए फिर से वापस आओ, इस समय% के पास पहले से किए गए वैध कार्यवाही दिखाने के लिए कोई मान्य मान नहीं है।

इस समस्या को कैसे प्राप्त करें? <

अगर मैं आपका प्रश्न समझता हूं, तो आप क्या चाहते हैं संदर्भ:

  my (% a,%) बी, $ c); # $ C हैश संदर्भ रखने के लिए एक स्केलर है यदि (शर्त) {$ c = \% a; # `` ऑपरेटर चर के संदर्भ लेता है} और {$ c = \% b; }  condition  मान लिया गया है:  
  $$ c {new_key} = '% $ c   

मूल्य '; # या `$ c- & gt; {new_key} = 'मान';` प्रिंट '$ _: $ a {$ _} \ n "कुंजियों के लिए% a; # प्रिंट्स "new_key: value"

आप मैन्युअल पृष्ठ पर पर्ल के संदर्भ के बारे में अधिक जान सकते हैं।

अंत में, मुझे उम्मीद है कि वे वेरिएबल नाम जो आप उपयोग कर रहे हैं इस उदाहरण लंबे समय के चर नाम आपके कोड को दस्तावेज़ करने में मदद करते हैं।

Comments