Sorry, I don't use FindBin (no one would ever guess that).
Once again we have an example of a feature that FindBin has but doesn't bother to export in a reusable manner (expanding symbolic links).
use File::Spec::Functions qw( rel2abs splitpath catpath );
my $RealBin = $0;
for( $RealBin ) {
$_ = readlink($_) while -l $_;
$_ = catpath( (splitpath rel2abs($_))[0,1] );
}
or
use File::Spec::Functions qw( rel2abs );
use File::Basename qw( dirname );
my $RealBin = $0;
$RealBin = readlink($RealBin) while -l $RealBin;
$RealBin = dirname( rel2abs($RealBin) );
and evidence that File::Spec could use some additions (realpath, basename, dirname).
|