Получение абсолютного пути к исполняемому файлу Perl для текущего процесса

Есть ли способ получить абсолютный путь к исполняемому файлу Perl для текущего процесса?

$^X даст мне имя исполняемого файла Perl, но в документации указано, что иногда это будет относительный путь, и это похоже на правду, например, в OS X.

ExtUtils ::MakeMaker, кажется, обладает некоторой магией для поиска абсолютного пути, так как файл Makefile, который он генерирует в моей OS X, содержит

PERL = /usr/local/bin/perl
FULLPERL = /usr/local/bin/perl

, но я понятия не имею, как он это делает, и легко ли эта магия доступна другим.

РЕДАКТИРОВАТЬ :Спасибо Бородину за подсказку $Config{perlpath}. Поискав это в ExtUtils, я нашел этот лакомый кусочек в ExtUtils ::MM _Unix ::_fixin _replace _shebang, который, я думаю, использует MakeMaker для замены #!perl правильным линия Шебанга.

    if ( $Config{startperl} =~ m,^\#!.*/perl, ) {
        $interpreter = $Config{startperl};
        $interpreter =~ s,^\#!,,;
    }
    else {
        $interpreter = $Config{perlpath};
    }
6
задан Jonathan Swartz 2 May 2012 в 00:35
поделиться