2017-02-07 8 views
8

डेबियन 9 स्थापित करने में मुझे पता चला कि . अब @INC का हिस्सा नहीं है।पर्ल: क्यों है। अब डेबियन 9 में @INC का हिस्सा नहीं है?

पर्ल (v5.24.1) x86_64-linux-gnu-धागे की बहु के लिए बनाया गया

Built under linux 
Compiled at Jan 15 2017 23:35:20 
@INC: 
/etc/perl 
/usr/local/share/perl/5.24.1 
/usr/lib/x86_64-linux-gnu/perl5/5.24 
/usr/share/perl5 
/usr/lib/x86_64-linux-gnu/perl/5.24 
/usr/share/perl/5.24 
/usr/local/lib/site_perl 
/usr/lib/x86_64-linux-gnu/perl-base 

किसी को भी पता है क्यों?

+1

आप पर '.' स्क्रिप्ट की निर्देशिका वैसे भी जा रहा है भरोसा नहीं कर सकता। वर्कअराउंड: 'FindBin qw ($ RealBin) का उपयोग करें; lib $ RealBin का उपयोग करें; ' – ikegami

उत्तर

14

क्योंकि . को @INC से 5.24.1 में कोर मॉड्यूल के लिए हटा दिया गया है। this blog post के बारे में वार्तालाप को रोकने के लिए यह एक सुरक्षा सुविधा है।

फरवरी में, मैंने पर्ल 5 पोर्टर्स के साथ एक टिकट खोला ताकि उन्हें हटाने के लिए एक गैर-डिफ़ॉल्ट विकल्प स्वीकार किया जा सके। @INC से दुर्भाग्यवश, मुझे पंच पर पीटा गया और पर्ल 5 सुरक्षा के लिए एक शोषण का खुलासा किया गया। टीएल; डीआर: अब होने के बारे में ज्ञात असुरक्षाएं हैं। @INC में

परिवर्तन 5.24.1 के लिए perldelta में दस्तावेज़ित किया गया है।

यह किसी अन्य उपयोगकर्ता द्वारा चलाए जाने वाले प्रक्रिया में वैकल्पिक मॉड्यूल इंजेक्शन करने से रोकता है जहां वर्तमान निर्देशिका हमलावर द्वारा लिखने योग्य होती है, उदा।/टीएमपी निर्देशिका।

यह सबसे अधिक संभावना be removed completely in 5.26 होगा। this blog post से लिया गया, पी 5 पी मेलिंग सूची पर Here's more discussion

Here are (some of) the commits जो इन परिवर्तनों को करते हैं।

Perl Pumpkin सायर एक्स भी the talk Perl 5.24, 5.26, and the Future of Perl 5 he gave at FOSDEM 2017 में यह समझाता है। Here is the recording टॉक ।


1) all videos from the Perl room at FOSDEM 2017

+0

तो नए पर्ल के साथ कोड के लिए सबसे अच्छा भविष्य समाधान" प्रोग्राम का उपयोग करें "।" मेरे प्रोग्राम में ?? – chris01

+2

@ क्रिस यदि आपको इसकी ज़रूरत है, तो हाँ। एक बेहतर समाधान है कि आप अपनी सामग्री को 'lib' dir में रखें और' lib lib का उपयोग करें 'lib' ' – simbabque

+0

क्या @INC सेट खुद को संकलित करने पर सेट है ?? – chris01

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