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

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> system() строк из конфига 
V
    Опции темы
dukeartem
Дата 4.7.2009, 19:08 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Всем привет.
Возникла задача, есть программа, которая что-то делает, у неё есть конфиг, выглядит он самым простым образом
var = value
....
И есть у него строка
shablon1 = /bin/echo $host:$hdd:$smart > $logfile
Нужно что бы программа, вытащила /bin/echo $host:$hdd:$smart > logfile.log и запихнула его в system(), причём подставив в эту строку вместо $host $hdd $smart  $logfile, значения которые определяет сам скрипт во время работы. Бился над этим целый день, выяснил
1) Если влоб вытаскивать, то строка будет '/bin/echo $host:$hdd:$smart ' и никаких подстановок не возможно сделать
2) Если использовать Template, то строка значения подставятся, но system() всё равно выполняться не будет.
И всё в таком духе, даже если удаётся преобразовать строку(сделать подстановку), то system её всё равно отказывается выполнять. Так же пробовал через do, тоже возникли, какие-то не преодолимые геморойные горки. 
Буду признателен, за любые подсказки.

PM MAIL   Вверх
shamber
Дата 4.7.2009, 21:22 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1422
Регистрация: 5.9.2006
Где: Россия

Репутация: 17
Всего: 18



поиск по форуму?

Это сообщение отредактировал(а) shamber - 4.7.2009, 21:26
PM MAIL Jabber   Вверх
dukeartem
Дата 4.7.2009, 21:27 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Пробовал. Даже попытался реализоваться некоторые советы, типо про Config::General и некоторые другие. Если Вы знаете где хранится решение, очень прошу показать.
PM MAIL   Вверх
shamber
Дата 4.7.2009, 21:32 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1422
Регистрация: 5.9.2006
Где: Россия

Репутация: 17
Всего: 18



про system
PM MAIL Jabber   Вверх
dukeartem
Дата 4.7.2009, 21:52 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Если, Вы таким образом намекали, что параметры от программы должны записываться отдельно, то это у меня не работает, т.к даже split не хочет их делить, да и шаблоны могут быть слишком разные, не везде можно будет поделить.
PM MAIL   Вверх
dukeartem
Дата 5.7.2009, 01:24 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Коллега по работе помог, если кому интересно, то у меня работает так:
Считываем строчку из конфиг файла, в моём случае левая сторона шла как ключ хеш массива, а права как значение, после, все переменные, которые нам нужно подставить в строку, мы записываем как:
ENV{hostname} = "значение переменной";   #заметьте пишем без $ 
....
И далее просто вызываем
system($НашХеш("нужный_ключ")); 

Всем, спасибо, тема закрыта.
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Perl"
korob2001
sharq
  • В этом разделе обсуждаются общие вопросы по языку Perl
  • Если ваш вопрос относится к системному программированию, задавайте его здесь
  • Если ваш вопрос относится к CGI программированию, задавайте его здесь
  • Интерпретатор Perl можно скачать здесь ActiveState, O'REILLY, The source for Perl
  • Справочное руководство "Установка perl-модулей", можно скачать здесь


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

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


 




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


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

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