Perlでフルパスを分解して配列へ
フルパスのファイル名を、ファイル名のみ、パス名、拡張子名に各々分解するには、fileparse関数を利用します。
use strict; use File::Basename; my $file = 'd:\mydir\test\filex.html'; my @fileparse = fileparse($file, '\.[^\.]+'); print '$fileparse[0]: ' . $fileparse[0] . "\n"; print '$fileparse[1]: ' . $fileparse[1] . "\n"; print '$fileparse[2]: ' . $fileparse[2] . "\n";
尚、fileparse関数の第二引数は、拡張子(ポツを含む)の正規表現を指定します。
ちなみに、その \.[^\.]+ は、拡張子の1文字目がポツで、2文字目以降はポツ以外の1回以上の繰り返し。