問題:如何將一個文件的所在路徑,文件名稱,文件后綴區分開?
方案: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_basename path=/home/qilzhao/ suffix=.pl name=perl_basename Basename=perl_basename dirname=/home/qilzhao