perl 5.8.5 में, यदि मैं निम्नलिखित करता हूं, तो मुझे कोई त्रुटि नहीं मिलती:एक अपरिफ मान पर्ल में मान्य सरणी संदर्भ क्यों बनता है?
use strict;
my $a = undef;
foreach my $el (@$a) {
...whatever
}
यहां क्या हो रहा है? Xzx19 के आउटपुट को प्रिंट करने से पता चलता है कि $a
किसी बिंदु पर मान्य सरणी संदर्भ बनने के लिए बदल जाता है। लेकिन मैंने स्पष्ट रूप से $a
को कुछ भी सेट नहीं किया है।
ऐसा लगता है कि एक चर की सामग्री कुछ भी करने के बिना बदल सकती है।
विचार, कोई भी?
संपादित करें: हाँ, मैं ऑटो-विविफिकेशन के बारे में सब कुछ जानता हूं। मैंने हमेशा सोचा था कि इसे ट्रिगर करने के तरीके के साथ कहीं भी असाइनमेंट होना था, न केवल एक संदर्भ।
यह perl है। विषमता ठीक है, क्योंकि यह अजीब है। –
मुझे नहीं लगता कि यह अजीब है, कुछ घोषणाओं को बचाने के लिए बस एक सुविधा है। –
@ स्टेफानो: पर्ल प्रश्नों को केवल ट्रॉल करने के लिए क्यों परेशान करते हैं? यह कठिन है ... – Telemachus