-w
कमांड लाइन स्विच पूरे दुभाषिया के लिए विश्व स्तर पर चेतावनियों को चालू करता है। दूसरी तरफ, use warnings
एक "लेक्सिकल प्रोगमा" है और केवल उस अक्षीय क्षेत्र में लागू होता है जिसमें इसका उपयोग किया जाता है। आमतौर पर, आप इसे फ़ाइल के शीर्ष पर रखते हैं, इसलिए यह पूरी फ़ाइल पर लागू होता है, लेकिन आप इसे विशेष ब्लॉक पर भी दायरा कर सकते हैं। इसके अतिरिक्त, आप no warnings
का उपयोग अस्थायी रूप से उन्हें ब्लॉक के अंदर बंद करने के लिए कर सकते हैं, ऐसे मामलों में जहां आपको अन्यथा चेतावनी-उत्पन्न व्यवहार करने की आवश्यकता है। यदि आप -w
पर हैं तो आप ऐसा नहीं कर सकते हैं।
व्याख्यात्मक चेतावनियां कैसे काम करती हैं, इसके बारे में विवरण के लिए, उनके विभिन्न उप-समूह को चालू और बंद करने के तरीके सहित, perllexwarn दस्तावेज़ देखें।
पर "कोई चेतावनी" आपका बिंदु मेरी अपेक्षा है, लेकिन एक त्वरित परीक्षण (perl -w -e "कोई चेतावनी नहीं; प्रिंट $ a;") ने दिखाया कि, कम से कम मेरे perl पर, "कोई चेतावनी" अभी भी काम नहीं करता है। –