पर्ल - निर्देशिकाएँ
निर्देशिकाओं के साथ खेलने के लिए उपयोग किए जाने वाले मानक कार्य निम्नलिखित हैं।
opendir DIRHANDLE, EXPR # To open a directory
readdir DIRHANDLE # To read a directory
rewinddir DIRHANDLE # Positioning pointer to the begining
telldir DIRHANDLE # Returns current position of the dir
seekdir DIRHANDLE, POS # Pointing pointer to POS inside dir
closedir DIRHANDLE # Closing a directory.
सभी फाइलें प्रदर्शित करें
किसी विशेष निर्देशिका में उपलब्ध सभी फाइलों को सूचीबद्ध करने के विभिन्न तरीके हैं। पहले चलो सभी फ़ाइलों को प्राप्त करने और सूचीबद्ध करने के लिए सरल तरीके का उपयोग करते हैंglob ऑपरेटर -
#!/usr/bin/perl
# Display all the files in /tmp directory.
$dir = "/tmp/*";
my @files = glob( $dir );
foreach (@files ) {
print $_ . "\n";
}
# Display all the C source files in /tmp directory.
$dir = "/tmp/*.c";
@files = glob( $dir );
foreach (@files ) {
print $_ . "\n";
}
# Display all the hidden files.
$dir = "/tmp/.*";
@files = glob( $dir );
foreach (@files ) {
print $_ . "\n";
}
# Display all the files from /tmp and /home directories.
$dir = "/tmp/* /home/*";
@files = glob( $dir );
foreach (@files ) {
print $_ . "\n";
}
यहाँ एक और उदाहरण है, जो एक निर्देशिका खोलता है और इस निर्देशिका के अंदर उपलब्ध सभी फाइलों को सूचीबद्ध करता है।
#!/usr/bin/perl
opendir (DIR, '.') or die "Couldn't open directory, $!";
while ($file = readdir DIR) {
print "$file\n";
}
closedir DIR;
आपके द्वारा उपयोग की जा सकने वाली सी स्रोत फ़ाइलों की सूची को मुद्रित करने के लिए एक और उदाहरण है -
#!/usr/bin/perl
opendir(DIR, '.') or die "Couldn't open directory, $!";
foreach (sort grep(/^.*\.c$/,readdir(DIR))) {
print "$_\n";
}
closedir DIR;
नई निर्देशिका बनाएँ
आप उपयोग कर सकते हैं mkdirएक नई निर्देशिका बनाने के लिए कार्य करते हैं। निर्देशिका बनाने के लिए आपको आवश्यक अनुमति की आवश्यकता होगी।
#!/usr/bin/perl
$dir = "/tmp/perl";
# This creates perl directory in /tmp directory.
mkdir( $dir ) or die "Couldn't create $dir directory, $!";
print "Directory created successfully\n";
एक निर्देशिका निकालें
आप उपयोग कर सकते हैं rmdirएक निर्देशिका को हटाने के लिए कार्य करते हैं। किसी निर्देशिका को निकालने के लिए आपको आवश्यक अनुमति की आवश्यकता होगी। इससे पहले कि आप इसे हटाने का प्रयास करें इसके अलावा यह निर्देशिका खाली होनी चाहिए।
#!/usr/bin/perl
$dir = "/tmp/perl";
# This removes perl directory from /tmp directory.
rmdir( $dir ) or die "Couldn't remove $dir directory, $!";
print "Directory removed successfully\n";
एक निर्देशिका बदलें
आप उपयोग कर सकते हैं chdirएक निर्देशिका को बदलने और एक नए स्थान पर जाने के लिए कार्य करते हैं। किसी निर्देशिका को बदलने और नई निर्देशिका के अंदर जाने के लिए आपको आवश्यक अनुमति की आवश्यकता होगी।
#!/usr/bin/perl
$dir = "/home";
# This changes perl directory and moves you inside /home directory.
chdir( $dir ) or die "Couldn't go inside $dir directory, $!";
print "Your new location is $dir\n";