Модераторы: ginnie, korob2001

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Значение системной переменной 
:(
    Опции темы
skalex
Дата 6.9.2004, 09:05 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Хороший человек
**


Профиль
Группа: Участник Клуба
Сообщений: 895
Регистрация: 2.4.2004

Репутация: нет
Всего: 23



Подскажите пожалуйста, как в Perl узнать значение системной переменной (например, переменной $HOSTNAME в *nix системе). Заранее благодарен за ответ.
PM   Вверх
GoodBoy
Дата 6.9.2004, 10:10 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Главный джедай
****


Профиль
Группа: Модератор
Сообщений: 3886
Регистрация: 8.1.2003
Где: КМВ

Репутация: нет
Всего: 83



Все системное окружение, которое передаетcя в перл-скрипт содержится в хэше %ENV.


--------------------
Чем дальше в лес, тем толще партизаны...

Цитата(igorold @  1.5.2016,  17:40 Найти цитируемый пост)
Индейцы не обратили внимания на поток беженцев из Европы… Теперь они живут в резервациях. 
PM MAIL   Вверх
skalex
Дата 6.9.2004, 10:25 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Хороший человек
**


Профиль
Группа: Участник Клуба
Сообщений: 895
Регистрация: 2.4.2004

Репутация: нет
Всего: 23



Все было бы хорошо, если бы значения нужных переменных действительно в нем содержались... bored.gif
PM   Вверх
GoodBoy
Дата 6.9.2004, 10:27 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Главный джедай
****


Профиль
Группа: Модератор
Сообщений: 3886
Регистрация: 8.1.2003
Где: КМВ

Репутация: нет
Всего: 83



А $ENV{HTTP_HOST} - это не то, что тебе нужно?


--------------------
Чем дальше в лес, тем толще партизаны...

Цитата(igorold @  1.5.2016,  17:40 Найти цитируемый пост)
Индейцы не обратили внимания на поток беженцев из Европы… Теперь они живут в резервациях. 
PM MAIL   Вверх
skalex
Дата 6.9.2004, 13:49 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Хороший человек
**


Профиль
Группа: Участник Клуба
Сообщений: 895
Регистрация: 2.4.2004

Репутация: нет
Всего: 23



да, часть переменных окружения содержится в %ENV. но, как оказалось, что есть еще часть переменных, которых нет в этом хеше. Например, такой переменной является $HOSTNAME. ее значение я могу узнать подав команду с терминала:
Код
echo $HOSTNAME

PM   Вверх
GoodBoy
Дата 6.9.2004, 14:17 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Главный джедай
****


Профиль
Группа: Модератор
Сообщений: 3886
Регистрация: 8.1.2003
Где: КМВ

Репутация: нет
Всего: 83



Ещё раз спрашиваю тебя:
Цитата(GoodBoy @ 6.9.2004, 11:27)
А $ENV{HTTP_HOST} - это не то, что тебе нужно?




--------------------
Чем дальше в лес, тем толще партизаны...

Цитата(igorold @  1.5.2016,  17:40 Найти цитируемый пост)
Индейцы не обратили внимания на поток беженцев из Европы… Теперь они живут в резервациях. 
PM MAIL   Вверх
skalex
Дата 6.9.2004, 15:20 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Хороший человек
**


Профиль
Группа: Участник Клуба
Сообщений: 895
Регистрация: 2.4.2004

Репутация: нет
Всего: 23



нет, это не то, что мне нужно!
PM   Вверх
GoodBoy
Дата 6.9.2004, 15:31 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Главный джедай
****


Профиль
Группа: Модератор
Сообщений: 3886
Регистрация: 8.1.2003
Где: КМВ

Репутация: нет
Всего: 83



Ну могу предложить тебе сделать так:
1. Делаешь файл test.pl и в нем пишешь:
Код
#!/bin/sh
echo $HOSTNAME

2. Ставишь на него 755
3. в коде скрипта, где тебе нужно значение этой переменной делаешь:
Код
my $qwe =  `./test.pl`;
print $qwe;

Обрати внимание, что вызов ./test.pl взят в обратные кавычки ` (это там, где буква Ё)

:-)))))))))))))))))))


--------------------
Чем дальше в лес, тем толще партизаны...

Цитата(igorold @  1.5.2016,  17:40 Найти цитируемый пост)
Индейцы не обратили внимания на поток беженцев из Европы… Теперь они живут в резервациях. 
PM MAIL   Вверх
ElectricalStorm
Дата 6.9.2004, 15:34 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник Клуба
Сообщений: 547
Регистрация: 22.1.2004

Репутация: 1
Всего: 9



Код

print [gethostbyname('')]->[0]



--------------------
Нужно знать инструмент, которым пользуешься
PM MAIL   Вверх
GoodBoy
Дата 6.9.2004, 15:42 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Главный джедай
****


Профиль
Группа: Модератор
Сообщений: 3886
Регистрация: 8.1.2003
Где: КМВ

Репутация: нет
Всего: 83



ElectricalStorm
У меня - пусто...


--------------------
Чем дальше в лес, тем толще партизаны...

Цитата(igorold @  1.5.2016,  17:40 Найти цитируемый пост)
Индейцы не обратили внимания на поток беженцев из Европы… Теперь они живут в резервациях. 
PM MAIL   Вверх
skalex
Дата 6.9.2004, 15:53 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Хороший человек
**


Профиль
Группа: Участник Клуба
Сообщений: 895
Регистрация: 2.4.2004

Репутация: нет
Всего: 23



GoodBoy
Не очень смешно... hmmm.gif
PM   Вверх
GoodBoy
Дата 6.9.2004, 15:56 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Главный джедай
****


Профиль
Группа: Модератор
Сообщений: 3886
Регистрация: 8.1.2003
Где: КМВ

Репутация: нет
Всего: 83



Mace
Да я вообще-то серьезно говорил!!! :-)))))
То, что посоветовал ElectricalStorm у меня почему-то не сработало... И если тебе действительно нужно получить системную переменную, которой нет в %ENV, то, вероятно, придется воспользоваться моим способом...



--------------------
Чем дальше в лес, тем толще партизаны...

Цитата(igorold @  1.5.2016,  17:40 Найти цитируемый пост)
Индейцы не обратили внимания на поток беженцев из Европы… Теперь они живут в резервациях. 
PM MAIL   Вверх
ElectricalStorm
Дата 6.9.2004, 16:03 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник Клуба
Сообщений: 547
Регистрация: 22.1.2004

Репутация: 1
Всего: 9



GoodBoy у тебя наверно сети нету ... smile.gif

Mace
Вам что нужно получить IP ? имя хоста ???


--------------------
Нужно знать инструмент, которым пользуешься
PM MAIL   Вверх
skalex
Дата 6.9.2004, 16:05 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Хороший человек
**


Профиль
Группа: Участник Клуба
Сообщений: 895
Регистрация: 2.4.2004

Репутация: нет
Всего: 23



Хм...
То, что посоветовал ElectricalStorm, у меня тоже не работает...
Неужели нет другого способа ???
Добавлено @ 16:14
объясняю ситуацию несколько подробнее:
perl-скрипт никак не связан с web-сервером! и будет запускаться с помощью crontab.
однако значения некоторых переменных, зависят от места запуска (сервера на котором распологается скрипт).
таких серверов несколько.
хочется иметь один универсальный скрипт, вместо нескольких с разными переменными.
PM   Вверх
ElectricalStorm
Дата 6.9.2004, 16:14 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник Клуба
Сообщений: 547
Регистрация: 22.1.2004

Репутация: 1
Всего: 9



так чего же вы хотите что бы делал ???
какие значения (!) переменных вам нужны ?

Это сообщение отредактировал(а) ElectricalStorm - 6.9.2004, 16:15


--------------------
Нужно знать инструмент, которым пользуешься
PM MAIL   Вверх
skalex
Дата 6.9.2004, 16:21 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Хороший человек
**


Профиль
Группа: Участник Клуба
Сообщений: 895
Регистрация: 2.4.2004

Репутация: нет
Всего: 23



Цитата
какие значения (!) переменных вам нужны ?

не понял вот этого вопроса!
PM   Вверх
GoodBoy
Дата 6.9.2004, 16:26 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Главный джедай
****


Профиль
Группа: Модератор
Сообщений: 3886
Регистрация: 8.1.2003
Где: КМВ

Репутация: нет
Всего: 83



ElectricalStorm
Уж да... Сети нету... Скажешь тоже... :-))))))))


--------------------
Чем дальше в лес, тем толще партизаны...

Цитата(igorold @  1.5.2016,  17:40 Найти цитируемый пост)
Индейцы не обратили внимания на поток беженцев из Европы… Теперь они живут в резервациях. 
PM MAIL   Вверх
korob2001
Дата 6.9.2004, 16:59 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Комодератор
Сообщений: 2871
Регистрация: 29.12.2002

Репутация: 6
Всего: 61



Содержимое хэша %ENV зависит от используемого сервера. Если кому интересно, даваете установим сервер Apache и Xitami. После запустим такую вот прогу сначала на одном сервере, а затем на другом и сравним результаты.
Код

#!/usr/bin/perl -w
use strict;
print "Content-type: text/html\n\n";
while ( my( $key, $val ) = each( %ENV ) ) {
          print "$key => $val<br>";
}

Лично у меня, если запустить данный код через Xitami, то хэш %ENV содержит намного больше значений, чем через Apache.

Удачи.


--------------------
"Время проходит", - привыкли говорить вы по неверному пониманию. 
"Время стоит - проходите вы".
PM MAIL WWW ICQ MSN   Вверх
ElectricalStorm
Дата 6.9.2004, 17:15 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник Клуба
Сообщений: 547
Регистрация: 22.1.2004

Репутация: 1
Всего: 9



моя попытка номер 5 smile.gif
Код

use Socket;
use Sys::Hostname;

my $host = hostname();
my $addr = inet_ntoa(scalar gethostbyname($host || 'localhost'));
print $addr;



ну давайте у кого что эта программка покажет ? smile.gif


--------------------
Нужно знать инструмент, которым пользуешься
PM MAIL   Вверх
skalex
Дата 7.9.2004, 08:18 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Хороший человек
**


Профиль
Группа: Участник Клуба
Сообщений: 895
Регистрация: 2.4.2004

Репутация: нет
Всего: 23



smile.gif
У меня выдает IP сервера.
Большое спасибо за информацию!!!
PM   Вверх
Страницы: (2) [Все] 1 2 
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Perl: Системное программирование"
korob2001
sharq
  • В этом разделе обсуждаются вопросы относящиеся только к системному программированию на Perl
  • Если ваш вопрос не относится к системному или CGI программированию, задавайте его в общем разделе
  • Если ваш вопрос относится к CGI программированию, задавайте его здесь
  • Интерпретатор Perl можно скачать здесь ActiveState, O'REILLY, The source for Perl
  • Справочное руководство "Установка perl-модулей", можно скачать здесь


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, korob2001, sharq.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Perl: Системное программирование | Следующая тема »


 




[ Время генерации скрипта: 0.0590 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.