2.4 读取目录

要读取目录,可以使用opendir函数,即取得那个目录下的所有文件和子目录,但是并不嵌套读取子目录内的内容。请看代码2-3。

代码2-3 ch02/read_dir.pl

 1 #!/usr/local/bin/perl
 2 
 3 opendir my $dh, "." or die "Error: read directory failed.";
 4 my @filedirs = readdir $dh;
 5 closedir $dh or die "Error: close directory failed.";
 6 
 7 for my $f ( @filedirs ) {
 8   print $f, "\n";
 9 }
10 
11 exit 0;

由于opendir只是用来读取目录的语句,因此不需要<这样的符号。

代码2-3会列出当前目录下的所有文件和目录,包括“.”(当前目录)和“..”(当前目录的上级目录)。$dh是一个目录句柄,readdir命令可以读取该目录句柄中的所有内容,即含有的所有文件和子目录,不包括子目录所包含的内容。