パス名の分解


 File::Basenameモジュールfileparseを使います。
 第1引数にパス名を指定するとファイル名、ディレクトリ名を返します。第2引数以降に拡張子を指定すると、ファイル名、ディレクトリ名、拡張子を返します。
use File::Basename;

$filename = '/home/user1/test.txt';

# $name = 'test.txt'; $dir = '/home/user1/'; $ext = '';
($name, $dir, $ext) = fileparse($filename);


@extlist = ('\.txt');
# $name = 'test'; $dir = '/home/user1/'; $ext = '.txt';
($name, $dir, $ext) = fileparse($filename, @extlist);

関連項目

ディレクトリ名の取得
ファイル名の取得