Perl学习之目录操作(0 位领导批示)
- 2008-06-11
- 分类:Perl
- 作者:银子
- 2,839 位领导视察
一、在目录树上移动
程序在某个工作目录(working directory)下运行,这是相对路径的起点。
chdir可以改变工作目录。它和Unix shell,Win command下的cd命令类似。
chdir "/test" or die "打开目录出错:$!";
错误发生时将给变量$!赋值。通常应当检查$!的值,因为它将告诉你chdir失败的原因。
工作目录会被Perl启动后的所有进程所继承。但是对于调用Perl的进程的工作目录将不会改变,因此,不能写一个Perl程序来代替shell下的cd命令。
二、Globbing
通常,shell将每个命令行中的任何的文件名模式转换成它所匹配的文件名。这被称作globbing。例如,在echo命令后使用了文件名模式*.pm,shell会将它转换成它所匹配的文件名。
my @all_files = glob "*";
foreach $v (@all_files)
{
print $v."\n";
}
@all_files得到了当前目录下的所有文件,这些文件按照字母排序的,不包括由点(.)开头的文件。
my @all_files = glob ".* *";
foreach $v (@all_files)
{
print $v."\n";
}
这里,我们包括了额外的 点星号(.*) 参数,来得到所有的文件(由点开头的文件,以及不由点开头的文件)。引号中两个项之间的空隔是必须的。















