![]() |
|
Модераторы: korob2001, ginnie |
![]()
|
|
| dukeartem |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 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, тоже возникли, какие-то не преодолимые геморойные горки. Буду признателен, за любые подсказки. |
|||
|
||||
| shamber |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1422 Регистрация: 5.9.2006 Где: Россия Репутация: 17 Всего: 18 |
||||
|
||||
| dukeartem |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 4 Регистрация: 4.7.2009 Репутация: нет Всего: нет |
Пробовал. Даже попытался реализоваться некоторые советы, типо про Config::General и некоторые другие. Если Вы знаете где хранится решение, очень прошу показать.
|
|||
|
||||
| shamber |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1422 Регистрация: 5.9.2006 Где: Россия Репутация: 17 Всего: 18 |
про system
|
|||
|
||||
| dukeartem |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 4 Регистрация: 4.7.2009 Репутация: нет Всего: нет |
Если, Вы таким образом намекали, что параметры от программы должны записываться отдельно, то это у меня не работает, т.к даже split не хочет их делить, да и шаблоны могут быть слишком разные, не везде можно будет поделить.
|
|||
|
||||
| dukeartem |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 4 Регистрация: 4.7.2009 Репутация: нет Всего: нет |
Коллега по работе помог, если кому интересно, то у меня работает так:
Считываем строчку из конфиг файла, в моём случае левая сторона шла как ключ хеш массива, а права как значение, после, все переменные, которые нам нужно подставить в строку, мы записываем как: ENV{hostname} = "значение переменной"; #заметьте пишем без $ .... И далее просто вызываем system($НашХеш("нужный_ключ")); Всем, спасибо, тема закрыта. |
|||
|
||||
![]()
|
| Правила форума "Perl" | |
|
|
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, korob2001, sharq. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Perl: Общие вопросы | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |