Forum Webscript.Ru
Программирование => Perl => Тема начата: Duke от 27 Ноября 2002, 23:17:12
-
Вот задача.
Есть переменная
$a значение которой "and param2>$param2 and param4>$param4"
или
"param2>$param2 and param4>$param4 and"
в первом случае, как стиреть первое слово - "end "
во втором последнее, соответственно? (перед отправкой запроcа в MySQL)
пробовал
s/.../.../
tr/.../.../
но не получилось, плохо я очень в этой скриптологии разбираюсь, а решить задачу надо.
Поможите.:insane:
-
vopervyh v php est\' "trim($var,"chars to remove")"
ne znaiu naschet perla.. no chto-to tipa etogo dolzhno byt\' obiazatelno..
Vo vtoryh, ia tebe uzhe otvetil kak etu problemu mozhno po-umnomu oboiti s pomoshiu SQL :
"select [field] from where 1=1 and param2>$param2 and param4>$param4"
-
ili esli tol\'ko sleva : ltrim()
a sprava: rtrim()
-
->Perl
-
a vot kto eto delo v Perl perenes ? chelovek pro SQL sprashival mezhdu prochim ... Tut ne v Perle ili PHP delo
-
http://forums.webscript.ru/showthread.php?s=&threadid=9275&msgnum=5
-
Duke, во-первых, переменную $a лучше не использовать не по назначению, она используется в функции sort.
$aa=\'and param2>$param2 and param4>$param4\'; # или \'param2>$param2 and param4>$param4 and\';
for ($aa) {s/^and//; s/and$//;}
- формально так, но, судя по вопросу (если прикинуться телепатом), ты просто связываешь набор условий для SQL-запроса. Тогда лучше делать по другому:
$a[0]="param2>$param2";
$a[1]="param4>$param4";
$a=join(" AND ",@a);
Stas, mozhno po-umnomu oboiti s pomoshiu SQL
Заставлять БД делать лишнюю работу как раз не очень умно.
-
nu a potvoemu 1=1 eto lishniaia rabota.. S string functions v Perle eto ne lishniaia rabota ? A pamiat\' dlia lishnih peremennyh ? A execution time ?
Seriozno, dlia takoi dovol\'no prostoi veshi, nikakih string functsii ne nado, da i kod koroche budet ! ;)
-
[OFF]Stas, в SQL-запросе любая мелочь может сделать погоду. И СУБД и Perl надо использовать по назначению. Кстати, если тебе так нравится твой вариант, то хотя бы замени "1=1" на просто "1".[/OFF]
Если у Duke нет вопросов, тема закрыта.
-
moderator
Stas используй перекодировщики. Благо, в инете их валом. Или ссылку подкинуть?
Тема закрыта.