利用Perl的File::Basename包解析全檔案路徑資訊

yhou31發表於2015-09-14

檔案路徑可分為:位置、檔案、副檔名。以c:/perl/bin/perl.exe來說,位置是指c:/perl/bin,檔名稱為perl,副檔名指.exe。
預設情況下,File::Basename假設你用的是Unix型態的路徑名稱,但可經由呼叫fileparse_set_fstype來改變文件指定,可用的引數包括VMS, MSDOS, MacOS, AmigaOS, MSWin32。
File::Basename中常用的方法有fileparse, basename, dirname。
fileparse方法會傳回包含路經名稱三個部份的串列。
dirname方法傳回路徑位置。
basename方法傳回檔案名稱。


[plain] view plaincopy
  1. use File::Basename;  
  2. use strict;  
  3. fileparse_set_fstype('MSWin32');  
  4. my $path='c:/perl/bin/perl.exe';  
  5. my($fname, $dir, $ext)=fileparse($path, '.exe');  
  6. print "Location: $dir/nBasename: $fname/nExtension: $ext/n";  
  7. my($basename)=basename($path, '.exe');  
  8. print "basename(): $basename/n";  
  9. my($dirname)=dirname($path);  
  10. print "dirname(): $dirname/n";  


輸出結果:
Location: c:/perl/bin/
Basename: perl
Extension: .exe
basename(): perl
dirname(): c:/perl/bin

fileparse和basename的第二個引數(選擇性的引數)是一般的常規表示式(regular expression)串列,它可以用來除去副檔名,讓你比對某些特殊檔案。

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/9950964/viewspace-1798852/,如需轉載,請註明出處,否則將追究法律責任。

相關文章