小池啓仁 ヒロヒト応援ブログ By はてな

小池啓仁(コイケヒロヒト)の動画など。

小池啓仁 ヒロヒト応援ブログ By はてな

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回以上の繰り返し。