【0710】[perl] File::Basename用法

自从开始生物信息。。接触了perl,总是无比蛋疼。

这次,小结一下File::Basename用法。

我觉得,学习perl最好是看官网的指导,然后实践就好。

附上原文。http://perldoc.perl.org/File/Basename.html


我觉得主要用到的就三个:

filepase:主要是可以把目录分为文件名,目录,文件名的后缀(这个需要设置)

basename:获取目录的最后一个文件名,相当于pop()。就算是”/foo/bar/baz/”,也会得到”baz”

dirname:获取目录,相当于chop()

写了一个简单的脚本说明。

use File::Basename;


my$path="/foo/bar/baz/file.txt";


 #fileparse can divides a file path into its$directories, $filename and (optionally) the filename $suffix.

 my($filename,$directories,$suffix)=fileparse($path);

 my($filename2,$directories2,$suffix2)=fileparse($path,qr/\.[^.]*/);


#basename return the lastlevel of a filepath,just like pop()

 my $basename=basename($path);


 #dirname return all but the last level of afile path

 my $dirname=dirname($path);


输出结果:

filename=file.txt

directories=/foo/bar/baz/

suffix=

filename2=file

directories2=/foo/bar/baz/

suffix2=.txt

basename=file.txt

dirname=/foo/bar/baz