2013-04-30 10 views
5

मेरे पास एक पर्ल स्क्रिप्ट है जिसे मैं समझ नहीं पा रहा हूं।

for $i(@myarr) 
{ 
    #some stuff 
    eval { 
     #some stuff 
    }; 
    if([email protected]) 
    { 
     print "*** [email protected] ****"; 
    } 
} 
  1. क्या कि eval क्या करता है? क्या यह एक मानक पर्ल कमांड या बस कुछ उप है?
  2. परिवर्तनीय $ @ क्या है? यह वर्तमान में एक स्ट्रिंग प्रिंट कर रहा है लेकिन मुझे नहीं पता कि वह स्ट्रिंग कहां से आ रही है।
+2

http://perldoc.perl.org/functions/eval.html –

उत्तर

7

SUIC के जवाब में जोड़ने के लिए पढ़ते हैं, English मॉड्यूल आपको $EVAL_ERROR[email protected] के बजाय और वर्णनात्मक का उपयोग करें और Try::Tiny या TryCatch मॉड्यूल है कि आम जाल से बचने के अपवाद संचालन के लिए eval के उपयोग से संबंधित देता है कि देखते हैं। इसके अलावा, अगली बार जब आप पर्ल फ़ंक्शन के बारे में सोचते हैं, perldoc -f आपका मित्र है (जैसे perldoc -f eval)।

+0

अतिरिक्त जानकारी के लिए हाय zoul धन्यवाद! perldoc -f के संबंध में, क्या मुझे इसे अपने व्याख्याता पर चलाने की ज़रूरत है? मैं हैमिल्टन सी शैल का उपयोग कर रहा हूं जो आसानी से पर्ल-वी से पर्ल के संस्करण का पता लगा सकता है, लेकिन यह आपके आदेश को निष्पादित नहीं कर सकता है। –

+0

मुझे विंडोज़ पर पर्ल के बारे में कोई जानकारी नहीं है, क्षमा करें। आप हमेशा "perldoc foo" के लिए Google पर जा सकते हैं, इसके बारे में काम करता है। – zoul

6

[email protected] अंतिम eval, do-FILE से पर्ल सिंटैक्स त्रुटि या नियमित त्रुटि संदेश, या कमांड की आवश्यकता है। यदि सेट किया गया है, तो संकलन विफल हो गया है, या मरने के कार्य को eval के कोड में निष्पादित किया गया था। कृपया इस दस्तावेज़ के http://perldoc.perl.org/perlvar.html

+0

पर एक नज़र डालें, उत्तर के लिए धन्यवाद। अब समझ गया कि क्या eval करता है। –

संबंधित मुद्दे