मैं अभी भी अपने हैश डेरफ़्रेंसिंग को हल करने का प्रयास कर रहा हूं। मेरी वर्तमान समस्या यह है कि अब मैं एक सब के लिए हैशफ पास कर रहा हूं, और मैं इसे उस सब के भीतर अव्यवस्थित करना चाहता हूं। लेकिन मुझे ऐसा करने के लिए सही विधि/वाक्यविन्यास नहीं मिल रहा है। उप के भीतर, मैं हैश कुंजी को पुन: सक्रिय करना चाहता हूं, लेकिन हैशफ के लिए सिंटैक्स एक हैश जैसा नहीं है, जिसे मैं जानता हूं कि कैसे करना है।मैं एक पर्ल हैश संदर्भ को कैसे कम करता हूं जिसे सबराउटिन में पास किया गया है?
तो क्या मैं चाहता हूँ यह करने के लिए है:
sub foo {
%parms = @_;
foreach $keys (key %parms) { # do something };
}
लेकिन एक hashref साथ एक हैश के बजाय में पारित किया जा रहा।
कोई भी पॉइंटर्स (इरादा नहीं है) का स्वागत है।
धन्यवाद।
@_ की बजाय शिफ्ट का उपयोग करके चाल चल रही है, और निश्चित रूप से, चर के लिए हैश की बजाय स्केलर का उपयोग करना। कार्य कोड: उप foo { $ parms = shift; foreach $ कुंजी (कुंजी% $ parms) {प्रिंट "$ कुंजी: $$ parms {$ key} \ n"; } } धन्यवाद! – sgsax
'$ parms -> {$ key}' शायद $$ parms {$ key} ' – toolic
' shift' बनाम '_ _' से थोड़ा पसंदीदा नहीं है। 'मेरा ($ हैशफ) = @_; 'बस भी काम करेगा। –