![]() |
|
Модераторы: korob2001, ginnie |
![]()
|
|
| CrazyDiamond |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 56 Регистрация: 21.11.2005 Где: Москва Репутация: нет Всего: нет |
Если параметры команды - qwe123 qwe 123 q w e123
qwe123 - параметр1 qwe 123 - параметр2 q w e123 - параметр3 То что будет содержаться в $te,$art и $charge ?
Я их хочу использовать в запросе: where bestand.ltenr=$te and art_ref.szartnr=$art and bestand.szcharge=$charge |
|||
|
||||
| sharq |
|
||||||||||||||
![]() Perl Liker ![]() ![]() Профиль Группа: Участник Сообщений: 841 Регистрация: 13.12.2004 Где: Ростов-на-Дону Репутация: 23 Всего: 28 |
Ай-яй-яй!
CrazyDiamond
Если параметры задаются в ручную, то нужно так:
Если через переменные, то
Если через @ARGV, то
или
И все будет окей, и чего ты прицепился к этим пробелам? Они экранируются, если ты их задаешь не вручную, а через переменные! Это сообщение отредактировал(а) sharq - 22.11.2005, 17:42 -------------------- [color=gray]There's More Than One Way To Do It[/color] |
||||||||||||||
|
|||||||||||||||
| CrazyDiamond |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 56 Регистрация: 21.11.2005 Где: Москва Репутация: нет Всего: нет |
Блин, я их не задаю, я их должен извлечь, а задаются они другой программой! (см начало)
Эта "программа" не знает какая строка в какой переменной сидит и я не вижу способа заставить её понять это! |
|||
|
||||
| korob2001 |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 2871 Регистрация: 29.12.2002 Репутация: 31 Всего: 61 |
Млин, ну ты даёшь. Я вообще уже нифига не пойму.
Смотри вот так излекаются параметры:
Вот и всё, я просто с Informix никогда не работал, если хочешь могу привести пример работы с MySQL, хотя с другой стороны я тебе уже привёл пример класса. Посмотри его код, он расчитан на MySQL, но его так же легко настроить и на другую БД. -------------------- "Время проходит", - привыкли говорить вы по неверному пониманию. "Время стоит - проходите вы". |
|||
|
||||
| Kiber_rat |
|
|||
![]() MACMANIAC ![]() ![]() Профиль Группа: Участник Сообщений: 276 Регистрация: 18.4.2002 Где: Ashdod, Israel Репутация: 7 Всего: 9 |
sharq Чего ай-ай?
-------------------- Best regards! @..@_____Ku6ep =*=______\______KPbIC
|
|||
|
||||
| CrazyDiamond |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 56 Регистрация: 21.11.2005 Где: Москва Репутация: нет Всего: нет |
korob2001, я тоже не знаю как правильно в информиксе, но делаю это так
Запрос из шэла, имеется ввиду. echo "трали-вали" | /home/informix/bin/dbaccess xlvs Завтра приедет начальник, если скажет - разбирайся сам, то попробую get.szmhdat целиком выполнить на перле и дать расширение .pl. Попробую сделать как korob2001 посоветовал в последнем посте. Хотя как из переменной $sql сделать запрос в перле к информиксу я не знаю. |
|||
|
||||
| korob2001 |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 2871 Регистрация: 29.12.2002 Репутация: 31 Всего: 61 |
Залей и установи следующий модуль:
DBD::Informix http://search.cpan.org/~johnl/DBD-Informix....02/Informix.pm DBI http://search.cpan.org/~simkin/Apache-Logg...DBI-0.12/DBI.pm Добавлено @ 01:49 Залей и установи следующий модуль: DBD::Informix http://search.cpan.org/~johnl/DBD-Informix....02/Informix.pm DBI http://search.cpan.org/~simkin/Apache-Logg...DBI-0.12/DBI.pm Примеры смотри там же. -------------------- "Время проходит", - привыкли говорить вы по неверному пониманию. "Время стоит - проходите вы". |
|||
|
||||
| sharq |
|
|||
![]() Perl Liker ![]() ![]() Профиль Группа: Участник Сообщений: 841 Регистрация: 13.12.2004 Где: Ростов-на-Дону Репутация: 23 Всего: 28 |
CrazyDiamond давай поступим так - ты выкладывай сюда свои два скрипта и мы посмотрим, что там не так, а-то ты уже столько времени не можешь толком объяснить что не так.
Так что ждем скрипты. -------------------- [color=gray]There's More Than One Way To Do It[/color] |
|||
|
||||
| CrazyDiamond |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 56 Регистрация: 21.11.2005 Где: Москва Репутация: нет Всего: нет |
Давайте немного отвлечёмся
Есть фрагмент шел кода:
Команда запускается так: ./get.szmhdat_new 803751 [[[[21967-142]]]] [[[[30504/01.03.073]]]] Вопрос: почему ничего не записывается в a1 и следовательно art? Хотя $1 содержит то,что нужно. Только со скобками=) |
|||
|
||||
| Kiber_rat |
|
||||||
![]() MACMANIAC ![]() ![]() Профиль Группа: Участник Сообщений: 276 Регистрация: 18.4.2002 Где: Ashdod, Israel Репутация: 7 Всего: 9 |
Потому что вот тут
-------------------- Best regards! @..@_____Ku6ep =*=______\______KPbIC
|
||||||
|
|||||||
| CrazyDiamond |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 56 Регистрация: 21.11.2005 Где: Москва Репутация: нет Всего: нет |
Я имею ввиду, что $* = все параметры команды...Для шела эта так,если я не ошибаюсь.
perl -e '$_ ="$*" даёт тот же результат. |
|||
|
||||
| Kiber_rat |
|
||||
![]() MACMANIAC ![]() ![]() Профиль Группа: Участник Сообщений: 276 Регистрация: 18.4.2002 Где: Ashdod, Israel Репутация: 7 Всего: 9 |
Попробуй так:
-------------------- Best regards! @..@_____Ku6ep =*=______\______KPbIC
|
||||
|
|||||
| korob2001 |
|
||||||||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 2871 Регистрация: 29.12.2002 Репутация: 31 Всего: 61 |
Попробуй такое регулярное выражение:
Хотя не понятно зачем ты захватываешь второй параметр, если он у тебя отбрасывается. Может тебе нужно это?
Если же тебе нужен только первый параметр, то удали скобки из первого выражения:
Или же оставь, но тогда не далай захвата:
Это сообщение отредактировал(а) korob2001 - 23.11.2005, 15:35 -------------------- "Время проходит", - привыкли говорить вы по неверному пониманию. "Время стоит - проходите вы". |
||||||||
|
|||||||||
| Guest |
|
||||||||||
|
Unregistered |
Kiber_rat, сделал как ты предложил:
Получаю:
То есть параметр 1 и 2 воспринимаются как бы правильно, только скобки лишние.... Но в charge не записывается второй параметр Что означает $*` в конце перловой строки?
Мне нужно извлечь все три параметра. С первым, я надеюсь, вопросов нет? Второй я захватываю в переменную art, третий - в charge. Я не могу сделать просто te=$1 art=$2 и charge=$3 потому,что во втором и третем параметры могут быть пробелы, понимаешь? |
||||||||||
|
|||||||||||
| Гость_CrazyDiamond |
|
|||
|
Unregistered |
Суть вопроса наверное сводится к тому, что бы откинуть скобки, что бы в art записалось 10706154, а в charge 03-0030-05 или 03 0030 05,если этот параметр так будет передан.
|
|||
|
||||
![]()
|
| Правила форума "Perl" | |
|
|
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, korob2001, sharq. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Perl: Общие вопросы | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |