किसी कारण पर्ल मैं कोशिश कर रहा हूँ निर्देशिका प्रविष्टियों कैशिंग रहता है के लिए readdir का उपयोग कर पढ़ने के लिए:पर्ल की readdir() कैश निर्देशिका प्रविष्टियों क्यों करता है?
opendir(SNIPPETS, $dir_snippets); # or die...
while (my $snippet = readdir(SNIPPETS))
{ print ">>>".$snippet."\n"; }
closedir(SNIPPETS);
चूंकि मेरे निर्देशिका दो फ़ाइलों, test.pl और test.man होता है, मैं उम्मीद कर रहा हूँ निम्नलिखित उत्पादन:
.
..
test.pl
test.man
दुर्भाग्य से पर्ल फ़ाइलें जिन्हें गायब हो गए, क्योंकि मैं उनका नाम बदल करने की कोशिश की उदाहरण के लिए, का एक बहुत कुछ देता है।
.
..
test.pl
test.yeah
test.man
इस अजीब व्यवहार के लिए कारण क्या है: मैं test.pltest.yeah को ले जाने के बाद पर्ल निम्नलिखित सूची प्रदान करेगा? opendir, readdir और closedir के लिए प्रलेखन कुछ प्रकार के कैशिंग तंत्र का उल्लेख नहीं करता है। "ls -l" स्पष्ट रूप से केवल दो फाइलों को सूचीबद्ध करता है।
दोनों 'readline' और' readdir' पूर्व पढ़ सकते हैं और कैश। यह जानवर की प्रकृति है। – tchrist