URL: https://www.opennet.me/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID9
Нить номер: 2881
[ Назад ]

Исходное сообщение
"Perl путь к скрипту"

Отправлено vad , 04-Май-04 00:38 
Как при запуске скриптика на Perl (не CGI) получить полный путь к месту где этот скрипт лежит

Пример
Скрипт находиться в /usr/local/test/a.pl

Мы в
/home/user/
a.pl

получаем /usr/local/test/


Содержание

Сообщения в этом обсуждении
"Perl путь к скрипту"
Отправлено pth , 04-Май-04 02:35 
use FindBin;


"Perl путь к скрипту"
Отправлено vad , 04-Май-04 19:16 
>use FindBin;


Да вроде то что нужно , спасибо. И всеже неужели нет какой либо внутренней переменной в которой храниться путь к запущенному скрипту :( Убого


"Perl путь к скрипту"
Отправлено Bootmen , 04-Май-04 16:10 
>Как при запуске скриптика на Perl (не CGI) получить полный путь к
>месту где этот скрипт лежит
>
А если в начале скрипта так:
$pwd = `pwd`;
print $pwd;

"Perl путь к скрипту"
Отправлено vad , 04-Май-04 19:17 
>>Как при запуске скриптика на Perl (не CGI) получить полный путь к
>>месту где этот скрипт лежит
>>
>А если в начале скрипта так:
>$pwd = `pwd`;
>print $pwd;


Не понял ? :( И что?


"Perl путь к скрипту"
Отправлено Bootmen , 08-Май-04 10:17 
$pwd = `pwd`;
>>print $pwd;
>
>
>Не понял ? :( И что?
И Че?
Покажет текущую директорию скрипта.
Если конечно вы не пишете скрипт в виндузятине.
А если конечно хочется поумничать - то пож качайте (как сказано ниже)
всякие модули для такой очень "сложной задачи".



"Perl путь к скрипту"
Отправлено pth , 08-Май-04 12:07 
Если скрипт находится в одном из каталогов, прописанных в PATH, и запускается просто по имени, что покажет твое `pwd`?

Способ, указанный ниже, не очень удобен, когда скрипт запускается по относительному пути, а нужен абсолютный.


"Perl путь к скрипту"
Отправлено vad , 08-Май-04 12:44 
>$pwd = `pwd`;
>>>print $pwd;

А чем не нравиться такое решение ? и работает везде (Unix/Win)
или тут что то не так?

$0 =~ m/.*[\/\\]/g;


"Perl путь к скрипту"
Отправлено pth , 08-Май-04 13:21 
Во-первых unix/win - это не везде.

Во-вторых все тем же - при запуске по относительному имени результатом будет относительный же путь, который еще предстоит переводить в абсолютный.

В-третьих - это уже сделано господами Graham Barr & Nick Ing-Simmons.


"Perl путь к скрипту"
Отправлено Bootmen , 08-Май-04 11:58 
>>>Как при запуске скриптика на Perl (не CGI) получить полный путь к
>>>месту где этот скрипт лежит
>>>
>>А если в начале скрипта так:
>>$pwd = `pwd`;
>>print $pwd;
>
>
>Не понял ? :( И что?

Еще один прикол:
$main = `find . -name твойСкрипт.pl -print`
print $main;
(всетаки вы не юниксоид).


"Perl путь к скрипту"
Отправлено vt , 05-Май-04 17:18 
>Как при запуске скриптика на Perl (не CGI) получить полный путь к
>месту где этот скрипт лежит
>
>Пример
>Скрипт находиться в /usr/local/test/a.pl
>
>Мы в
>/home/user/
>a.pl
>
>получаем /usr/local/test/

print $0 =~ m{.*/}g