问题:如何将一个文件的所在路径,文件名称,文件后缀区分开?
方案:perl - File:Basename 模块
说明:在perl脚本中,使用use File::Basename模块后,可以调用三种常用的函数:fileparse, basename, dirname.
1. fileparse: 输入参数全路径名称和后缀列表;返回三个值:文件名,路径,后缀,并存放在列表中。
2. basename: 输入参数全路径名称和后缀列表; 返回文件名
3. dirname: 输入参数全路径名称; 返回文件路径
示例:
1 #! /usr/bin/perl 2 3 use strict; 4 use warnings; 5 use File::Basename; 6 7 my $fullname='/home/qilzhao/perl_basename.pl'; 8 my @suffixlist=qw(.pl .txt .sv .v); 9 my ($name, $path, $suffix)=fileparse($fullname, @suffixlist);10 11 print "name=$name\n";12 print "path=$path\n";13 print "suffix=$suffix\n";14 15 $name=fileparse($fullname, @suffixlist);16 print "name=$name\n";17 18 my $Basename=basename($fullname, @suffixlist);19 print "Basename=$Basename\n";20 21 my $dirname = dirname($fullname);22 print "dirname=$dirname\n";
执行上述脚本,得到下面的结果:
name=perl_basenamepath=/home/qilzhao/suffix=.plname=perl_basenameBasename=perl_basenamedirname=/home/qilzhao