以下是用于播放目录的标准函数.
opendir DIRHANDLE, EXPR # To open a directoryreaddir DIRHANDLE # To read a directoryrewinddir DIRHANDLE # Positioning pointer to the beginingtelldir DIRHANDLE # Returns current position of the dirseekdir DIRHANDLE, POS # Pointing pointer to POS inside dirclosedir 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/perlopendir (DIR, '.') or die "Couldn't open directory, $!";while ($file = readdir DIR) { print "$file\n";}closedir DIR;
打印可能使用的C源文件列表的另一个例子是 :
#!/usr/bin/perlopendir(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";