パス情報の分解 (module)File-Basename

back
標準モジュール

use File::Basename;

$path = "/path/to/file.txt";    # が、あるとして

■ ファイル名の取得
$file = basename($path);        # file.txt


■ ディレクトリ名の取得
$dir = dirname($path);          # /path/to


■ 分解

($filename, $dirname) = fileparse($path);
  # $filename にファイル名    (file.txt)
  # $dirname にディレクトリ名 (/path/to/)


拡張子も分解するなら
@ext = qw/.txt .html .pl .cgi/;     # 予め拡張子リストを持たせておき

($filename, $dirname, $extension) = fileparse($path, @extlist);
  # $filename は file
  # $dirname は /path/to
  # $extension は .txt

back