2011-01-07 12 views
8

संबंधित प्रतीक-तालिका-प्रविष्टियों को हटाने के बाद मुझे "$ n" और "$ m" से मान क्यों प्राप्त होते हैं?सिंबल-टेबल: प्रविष्टियों को हटाने

#!/usr/bin/env perl 
use warnings; 
use 5.012; 

package Foo; 

our $n = 10; 
our $m = 20; 

delete $Foo::{'n'}; 
delete $Foo::{'m'}; 

say $n; # 10 
say $m; # 20 

उत्तर

10

क्योंकि प्रतीक तालिका का उपयोग केवल संकलन समय (या प्रतीकात्मक संदर्भ के माध्यम से) पर किया जाता है। ग्लोब जो $Foo::{...} का मान है, सीधे संकलित कोड द्वारा संदर्भित किया जाता है, इसलिए अब-वर्तमान-मौजूद प्रतीक तालिका प्रविष्टि का कोई प्रभाव नहीं पड़ता है।

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

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