| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Perl: Системное программирование > Значение системной переменной |
| Автор: skalex 6.9.2004, 09:05 |
| Подскажите пожалуйста, как в Perl узнать значение системной переменной (например, переменной $HOSTNAME в *nix системе). Заранее благодарен за ответ. |
| Автор: GoodBoy 6.9.2004, 10:10 |
| Все системное окружение, которое передаетcя в перл-скрипт содержится в хэше %ENV. |
| Автор: skalex 6.9.2004, 10:25 |
| Все было бы хорошо, если бы значения нужных переменных действительно в нем содержались... |
| Автор: GoodBoy 6.9.2004, 10:27 |
| А $ENV{HTTP_HOST} - это не то, что тебе нужно? |
| Автор: skalex 6.9.2004, 13:49 | ||
да, часть переменных окружения содержится в %ENV. но, как оказалось, что есть еще часть переменных, которых нет в этом хеше. Например, такой переменной является $HOSTNAME. ее значение я могу узнать подав команду с терминала:
|
| Автор: GoodBoy 6.9.2004, 14:17 | ||
Ещё раз спрашиваю тебя:
|
| Автор: skalex 6.9.2004, 15:20 |
| нет, это не то, что мне нужно! |
| Автор: GoodBoy 6.9.2004, 15:31 | ||||
| Ну могу предложить тебе сделать так: 1. Делаешь файл test.pl и в нем пишешь:
2. Ставишь на него 755 3. в коде скрипта, где тебе нужно значение этой переменной делаешь:
Обрати внимание, что вызов ./test.pl взят в обратные кавычки ` (это там, где буква Ё) :-))))))))))))))))))) |
| Автор: ElectricalStorm 6.9.2004, 15:34 | ||
|
| Автор: GoodBoy 6.9.2004, 15:42 |
| ElectricalStorm У меня - пусто... |
| Автор: skalex 6.9.2004, 15:53 |
| GoodBoy Не очень смешно... |
| Автор: GoodBoy 6.9.2004, 15:56 |
| Mace Да я вообще-то серьезно говорил!!! :-))))) То, что посоветовал ElectricalStorm у меня почему-то не сработало... И если тебе действительно нужно получить системную переменную, которой нет в %ENV, то, вероятно, придется воспользоваться моим способом... |
| Автор: ElectricalStorm 6.9.2004, 16:03 |
| GoodBoy у тебя наверно сети нету ... Mace Вам что нужно получить IP ? имя хоста ??? |
| Автор: skalex 6.9.2004, 16:05 |
| Хм... То, что посоветовал ElectricalStorm, у меня тоже не работает... Неужели нет другого способа ??? Добавлено @ 16:14 объясняю ситуацию несколько подробнее: perl-скрипт никак не связан с web-сервером! и будет запускаться с помощью crontab. однако значения некоторых переменных, зависят от места запуска (сервера на котором распологается скрипт). таких серверов несколько. хочется иметь один универсальный скрипт, вместо нескольких с разными переменными. |
| Автор: ElectricalStorm 6.9.2004, 16:14 |
| так чего же вы хотите что бы делал ??? какие значения (!) переменных вам нужны ? |
| Автор: skalex 6.9.2004, 16:21 | ||
не понял вот этого вопроса! |
| Автор: GoodBoy 6.9.2004, 16:26 |
| ElectricalStorm Уж да... Сети нету... Скажешь тоже... :-)))))))) |
| Автор: korob2001 6.9.2004, 16:59 | ||
Содержимое хэша %ENV зависит от используемого сервера. Если кому интересно, даваете установим сервер Apache и Xitami. После запустим такую вот прогу сначала на одном сервере, а затем на другом и сравним результаты.
Лично у меня, если запустить данный код через Xitami, то хэш %ENV содержит намного больше значений, чем через Apache. Удачи. |
| Автор: ElectricalStorm 6.9.2004, 17:15 | ||
моя попытка номер 5
ну давайте у кого что эта программка покажет ? |
| Автор: skalex 7.9.2004, 08:18 |
| У меня выдает IP сервера. Большое спасибо за информацию!!! |