मैं पर्ल में एक प्रोग्राम चला रहा हूं कि एक बिंदु पर एक subroutine के भीतर से एक कथन में डेटा का मूल्यांकन करता है, उदा।पर्ल में वर्तमान में चल रहे प्रोग्राम को पुनरारंभ करने का कोई तरीका है?
sub check_good {
if (!good) {
# exit this subroutine
# restart program
}
else {
# keep going
}
} # end sub
मेरी समस्या में बाहर निकलने और पुनरारंभ करने के साथ है। मुझे पता है कि मैं सीधे बाहर निकलने के लिए exit 0;
का उपयोग कर सकता हूं, लेकिन जाहिर है कि अगर मैं शुरुआत में वापस जाना चाहता हूं तो यह सही नहीं है। मैंने subroutine को कॉल करने की कोशिश की जो अनिवार्य रूप से प्रोग्राम शुरू करता है, लेकिन निश्चित रूप से इसे चलाने के बाद यह फिर से इस बिंदु पर वापस जायेगा। मैंने इसे थोड़ी देर में डालने के बारे में सोचा, लेकिन इसका मतलब यह होगा कि पूरी फाइल लूप में डालें और यह बहुत अव्यवहारिक होगा।
मुझे वास्तव में पता नहीं है कि यह संभव है, इसलिए कोई इनपुट बहुत अच्छा होगा।
मेरी अज्ञानता को माफ कर दो - मुझे पता है कि @ARGV कमांड लाइन तर्कों के लिए उपयोग किया जाता है, लेकिन मैंने का उपयोग किया है मुझे लगता है कि वे डेटा को उसी स्मृति स्थान (या कुछ) में संग्रहीत करते हैं? –
dgBP
यह एक दावा है कि आप आसानी से परीक्षण कर सकते हैं। – DavidO
यदि आप stdin का उपभोग करते हैं तो आपको इसे स्वयं को बफर करना होगा, शायद एक अस्थायी फ़ाइल में। – tripleee