![]() |
|
Модераторы: korob2001, ginnie |
![]()
|
|
| CrazyDiamond |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 56 Регистрация: 21.11.2005 Где: Москва Репутация: нет Всего: нет |
Так, тут единичку....Работает, но со скобками. Скобки ща буду отдельно удалять, заменяя шаблон [ и ] на ...пустой символ? Как он выглядит? Пробел врят ли подойдёт, хотя попробую. |
|||
|
||||
| korob2001 |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 2871 Регистрация: 29.12.2002 Репутация: 31 Всего: 61 |
CrazyDiamond - не нужно ничего отдельно удалять, напиши нормальное регулярное выражени.
Вот это выражение не работатает, рабочий пример смотри выше. Приведи полный пример всех трёх параметров, отдельно на каждой строке. Это сообщение отредактировал(а) korob2001 - 24.11.2005, 12:41 -------------------- "Время проходит", - привыкли говорить вы по неверному пониманию. "Время стоит - проходите вы". |
|||
|
||||
| CrazyDiamond |
|
||||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 56 Регистрация: 21.11.2005 Где: Москва Репутация: нет Всего: нет |
Я уже приводил выше:
Эти параметры можно передавать, заключая их, например в скобки, кавычки итд. Это сообщение отредактировал(а) CrazyDiamond - 24.11.2005, 12:51 |
||||
|
|||||
| korob2001 |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 2871 Регистрация: 29.12.2002 Репутация: 31 Всего: 61 |
Только я не пойму: Зачем запихивать все параметры в одну строку, что бы потом их отпарсивать? Не проще ли было бы передать их в виде списка? После чего массив @ARGV содержал бы все параметры как отдельные элементы. Это сообщение отредактировал(а) korob2001 - 24.11.2005, 13:20 -------------------- "Время проходит", - привыкли говорить вы по неверному пониманию. "Время стоит - проходите вы". |
|||
|
||||
| CrazyDiamond |
|
||||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 56 Регистрация: 21.11.2005 Где: Москва Репутация: нет Всего: нет |
Я не знаю как это сделать...Как можно сделать так, что бы перл программа А на автомате запускала шел скрипт Б и передавала ему некий список значений.
Все параметры мне нужны в отдельных переменных...и разумеется, каждый раз параметры будут передаваться разные. Чёрт с ним, сдаюсь. |
||||
|
|||||
| korob2001 |
|
||||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 2871 Регистрация: 29.12.2002 Репутация: 31 Всего: 61 |
А как ты запускаешь Shell из терминала? - это один способ. Второй заключается в сокетном соединении.
Вообще в Shell есть такое понятие как массив и список?
Ну вот тебе отдельные переменные.
Это сообщение отредактировал(а) korob2001 - 24.11.2005, 13:48 -------------------- "Время проходит", - привыкли говорить вы по неверному пониманию. "Время стоит - проходите вы". |
||||
|
|||||
| CrazyDiamond |
|
||||||||||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 56 Регистрация: 21.11.2005 Где: Москва Репутация: нет Всего: нет |
Как должна выглядеть строчка
Не работают....кавычки пробовал разные, всё одно. В переменной te пусто.
Это сообщение отредактировал(а) CrazyDiamond - 24.11.2005, 14:08 |
||||||||||
|
|||||||||||
| korob2001 |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 2871 Регистрация: 29.12.2002 Репутация: 31 Всего: 61 |
Послушай, давай напишем всё это на Perl, потому как не имеет смысла писать этого на Shell, если ты не знаешь есть ли в Shell массивы или списки. На одних переменных ты далеко не выедешь. Программа будет работать куда надёжнее, без лишних процессов, вобщем без гемороя.
-------------------- "Время проходит", - привыкли говорить вы по неверному пониманию. "Время стоит - проходите вы". |
|||
|
||||
| CrazyDiamond |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 56 Регистрация: 21.11.2005 Где: Москва Репутация: нет Всего: нет |
Всё работает, осталось понять как в
my $prm = "[[[[qwe123]]]] [[[[qwe 123]]]] [[[[q w e123]]]]"; вставить все параметры скрипта, явно не указывая их. $* и @ARGV с любыми сочетаниями кавычек не работают=\ |
|||
|
||||
| korob2001 |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 2871 Регистрация: 29.12.2002 Репутация: 31 Всего: 61 |
Но это не есть хорошее решение, соединять все параметры в строку, затем парсить её, для того, что бы их разделить. Это сообщение отредактировал(а) korob2001 - 24.11.2005, 14:53 -------------------- "Время проходит", - привыкли говорить вы по неверному пониманию. "Время стоит - проходите вы". |
|||
|
||||
| CrazyDiamond |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 56 Регистрация: 21.11.2005 Где: Москва Репутация: нет Всего: нет |
Я хоть чуть чуть понимаю
Я не использую эту строку.
Все данные выводятся как и должны. Вот только это всё равно не конец - я не могу использовать скрипт в таком виде, параметры будут передаваться каждый раз разные, а тут они прописаны жёстко. Сижу-читаю книжки....есть идеи? |
|||
|
||||
| korob2001 |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 2871 Регистрация: 29.12.2002 Репутация: 31 Всего: 61 |
Ну так подставь переменные вместо параметров. А вообще откуда они берутся, я имею ввиду параметры?
Это сообщение отредактировал(а) korob2001 - 24.11.2005, 15:17 -------------------- "Время проходит", - привыкли говорить вы по неверному пониманию. "Время стоит - проходите вы". |
|||
|
||||
| CrazyDiamond |
|
||||||||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 56 Регистрация: 21.11.2005 Где: Москва Репутация: нет Всего: нет |
Блин, ну перл же не знает, что хранится в этих переменных, они пустые! Всё это - ради того, что бы их заполнить,а ты говоришь - подставь их и всё!
Ни один из приведённых выше вариантов не работает, т.к. для переменные te art и charge ещё пустые.
Первые строки первого поста:
Т.е. скрипт запускается основной программой вместе с параметрами. Это сообщение отредактировал(а) CrazyDiamond - 24.11.2005, 15:24 |
||||||||
|
|||||||||
| Kiber_rat |
|
|||
![]() MACMANIAC ![]() ![]() Профиль Группа: Участник Сообщений: 276 Регистрация: 18.4.2002 Где: Ashdod, Israel Репутация: 7 Всего: 9 |
Давай пдойдем к задаче логически
-------------------- Best regards! @..@_____Ku6ep =*=______\______KPbIC
|
|||
|
||||
| korob2001 |
|
||||||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 2871 Регистрация: 29.12.2002 Репутация: 31 Всего: 61 |
Так он их вроде, как я понял, отделяет [[[[param1]]]][[[[param2]]]][[[[param3]]]]. Но я не пойму зачем объединять все параметры в одну строку и потом разбивать эту строку, если можно их передать как список?
Может пора уже код сохранить в отдельный файл? Или так и будем писать всё в командной строке?
А Shell не интерполирует переменные? Если нет тогда нужно формировать системную команду в виде строки, а затем эту переменную вставлять в обратные кавычки. -------------------- "Время проходит", - привыкли говорить вы по неверному пониманию. "Время стоит - проходите вы". |
||||||
|
|||||||
![]()
|
| Правила форума "Perl" | |
|
|
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, korob2001, sharq. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Perl: Общие вопросы | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |