कुछ छोटी पृष्ठभूमि:
दुर्भाग्य से यूनिक्स एपीआई निष्पादन योग्य के लिए पूर्ण पथ के साथ एक रनिंग प्रोग्राम प्रदान नहीं करता है। वास्तव में, आपका निष्पादित करने वाला कार्यक्रम उस क्षेत्र में जो कुछ भी चाहता है वह प्रदान कर सकता है जो सामान्य रूप से आपके कार्यक्रम को बताता है कि वह क्या है। संभावित उम्मीदवारों को खोजने के लिए सभी जवाबों को इंगित करने के रूप में सभी उत्तर हैं। लेकिन पूरे फाइल सिस्टम को खोजने में कुछ भी कमी हमेशा काम नहीं करेगी, और यहां तक कि अगर निष्पादन योग्य स्थानांतरित या हटा दिया जाता है, तो भी यह विफल हो जाएगा।
लेकिन आप पर्ल निष्पादन योग्य नहीं चाहते हैं, जो कि वास्तव में चल रहा है, लेकिन वह स्क्रिप्ट निष्पादित कर रहा है। और पर्ल को यह जानने की जरूरत है कि स्क्रिप्ट को कहां खोजना है। यह इसे स्टोर करता है __FILE__
, जबकि $0
यह यूनिक्स एपीआई से है। यह अभी भी एक सापेक्षिक मार्ग हो सकता है, इसलिए मार्क के सुझाव को लें और इसे अपने साथ जोड़ लेंFile::Spec->rel2abs( __FILE__ );