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