यह वास्तव में सरल लगता है लेकिन यह मुझे मुश्किल लग रहा है क्योंकि मैं पेर्ल के लिए नया हूं .. अब मैं लूप के बारे में बहुत सारे दस्तावेज देख रहा हूं और मैं अभी भी इस से चिपक गया हूं ... मैं एक उप-जिसमें लूप होता है और मैं लूप के बाहर लूप के अंदर से एक वैरिएबल वैल्यू का उपयोग करना चाहता हूं (लूप चलाने के बाद), हालांकि जब मैं चर को मुद्रित करने का प्रयास करता हूं, या इसे सब से बाहर कर देता हूं, यह काम नहीं करता है, केवल जब मैं लूप के भीतर से वैरिएबल प्रिंट करता हूं तो यह काम करता है .. मैं किसी भी सलाह की सराहना करता हूं कि मैं क्या गलत कर रहा हूं।पर्ल, लूप के बाहर जबकि लूप के भीतर से चर का उपयोग कर?
काम नहीं करता ($ परीक्षण मुद्रित नहीं करता है):
sub testthis {
$i = 1;
while ($i <= 2) {
my $test = 'its working' ;
$i++ ;
}
print $test ;
}
&testthis ;
काम करता है, प्रिंट $ परीक्षण:
sub testthis {
$i = 1;
while ($i <= 2) {
my $test = 'its working' ;
$i++ ;
print $test ;
}
}
&testthis ;
'$ i = 1; शायद 'मेरा $ i = 1;' होना चाहिए, जिस तरह से यह अभी है, आप बाह्य दायरे में '$ i'' से बात कर रहे हैं जो त्रुटियों का स्रोत होगा जैसे ही आप अन्य subroutines के अंदर से subroutines बुला शुरू करते हैं। संभावना है कि बाहरी दायरे में '$ i' भी घोषित नहीं किया गया है, इस मामले में आप पैकेज चर से बात कर रहे हैं। यदि आप 'सख्त उपयोग' के तहत चल रहे थे; चेतावनियों का उपयोग करें; 'फिर' सख्त 'प्रगति ने अविकसित चर के बारे में एक त्रुटि फेंक दी होगी। –