揮発性のメモ2

http://d.hatena.ne.jp/iww/

スクリプト自身のディレクトリ名を取得する

File::Basename - perldoc.perl.org
Cwd - perldoc.perl.org

#!/usr/bin/perl

use File::Basename;
use Cwd 'abs_path';

# my $mydir = abs_path(dirname($0));
my $mydir = dirname(abs_path($0));
print "$mydir\n";

abs_path(dirname( の順での呼び出しの場合、実行しているスクリプトシンボリックリンクだったときに シンボリックリンクの置いてあるディレクトリ名を得ることができる。
シンボリックリンクじゃなくて実体のある方のディレクトリ名がほしいときは、先に絶対パスを求めておく。

File::Basename

$ perl -MFile::Basename -le 'print for sort @File::Basename::EXPORT'
basename
dirname
fileparse
fileparse_set_fstype