perl的File::Basename模块,可以从文件名中抽取基名,取不包括路径的文件名。
通过 use 命令声明一个模块
use File::Basename;
这样,就有了一个 basename 函数。
my $name = "/usr/local/bin/perl";
my $basename = basename $name; #得到 perl
该函数可用于多平台,如 windows 。
该模块中还有一个 dirname 函数,它把目录名从一个完整文件名中分离出来。
有选择地使用模块中的函数
当你不需要模块中的所有函数,或模块中的函数和你程序中子例程有冲突时,你可以在声明模块时给模块一个引入列表,只包括需要的函数。
use File::Basename qw /basename/; 只要 basename 函数,不要其它函数。
use File::Basename qw //; 不要任何函数。
怎么会想要一个空列表呢?
原因在于:有引入只是使得我们能使用短的简单的函数名, basename,dirname 。
即使不引入这些名字,我们仍可以使用,只是在没有引入时,我们要用全名来调用它,如: File::Basename::dirname 。
每个模块都有缺省的引入列表,查相关文档有介绍。