मैं कुछ बहुत पुराने पर्ल कोड (नहीं मेरे कोड) को अद्यतन करने पर काम कर रहा हूँ क्या करता है और मैं एक सबरूटीन में निम्नलिखित में आए:क्या पर्ल तारांकन sigil
sub DoEvent {
local(*eventWEH, $foreachFunc, @args) = @_;
$ret = do $foreachFunc(*eventWEH, @args);
}
यह पर्ल 5.6 में ठीक काम करने के लिए लग रहा था .1 लेकिन अब पर्ल 5.22 जो सिर्फ करते $ foreachFun (
क्या चर * eventWEH?
के सामने तारे का चिह्न का उद्देश्य है अगर यह थे 'सी' के बाद एक सिंटैक्स त्रुटि देता है में काम करता है मैं कुछ प्रकार के सूचक का सुझाव दूंगा। कोई सुझाव?
ईटीए: इस सब को पहले पैरामीटर के लिए कई अलग-अलग प्रकार के साथ बुलाया जाता है। उदाहरण के लिए:
&DoEvent($abc, "DoAbc", @args);
और
&DoEvent(@xyz, "DoXyz", @args);
तो प्रति के रूप में जवाब दिया, यह की तरह * eventWEH मिलान करने के लिए जो कुछ भी पैरामीटर उप करने के लिए पारित हो जाता है एक अलग डेटा प्रकार पर ले जा सकते हैं लग रहा है।
क्या आप सुनिश्चित हैं कि यह 'और DoEvent (\ $ abc," DoXyz ", @args)' और 'और DoEvent (\ @ xyz," DoXyz ", @args) नहीं है? जो आपने पोस्ट किया है वह ज्यादा समझ में नहीं आता है। – ikegami