use File::Spec;
该模块功能:实现简单的文件名操作
此模块并不关心文件是否存在,只是处理传进来的路径,目录名,文件名等字串
如
$x=File::Spec->catfile('a', 'b','c');
此时变量$x的结果为
a/b/c
use File::Spec::Functions
$x=catfile('a','b','c');
连接两个或多个目录名形成一个完整的路径:
$path = File::Spec->catdir( @directories );
连接一个或多个目录加一个文件名生成一个文件路径
$path = File::Spec->catfile( @directories, $filename );
得到当前路径
$curdir = File::Spec->curdir();
得到devnull的路径
print File::Spec->devnull(),"\n";
结果
/dev/null
打印根目录
[root@supersun perl]# perl -MFile::Spec -e 'print File::Spec->rootdir(),"\n"'
/
打印临时文件目录
[root@supersun perl]# perl -MFile::Spec -e 'print File::Spec->tmpdir(),"\n"'
/tmp
测试文件路径名是否是绝对路径
[root@supersun perl]# perl -MFile::Spec -e 'print File::Spec->file_name_is_absolute("/home/dd.cc"),"\n"'
1
提取PATH变量
@PATH = File::Spec->path()
join与catfile函数功能相同
将路径分解为 卷 目录 文件
($volume,$directories,$file) = File::Spec->splitpath( $path );
分离目录
@dirs = File::Spec->splitdir( $directories )
分离路径
$full_path = File::Spec->catpath( $volume, $directory, $file );