Автор Тема: Perl. Как стереть последние символы в строке?  (Прочитано 4510 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн Duke

  • Заглянувший
  • Новичок
  • *
  • Сообщений: 15
  • +0/-0
  • 0
    • Просмотр профиля
    • http://games.siberianet.ru
Вот задача.

Есть переменная
$a значение которой "and param2>$param2 and param4>$param4"
или
"param2>$param2 and param4>$param4 and"

в первом случае, как стиреть первое слово - "end "
во втором последнее, соответственно? (перед отправкой запроcа в MySQL)

пробовал
s/.../.../
tr/.../.../
но не получилось, плохо я очень в этой скриптологии разбираюсь, а решить задачу надо.
Поможите.:insane:

Оффлайн Stas

  • Фанат форума
  • Старожил
  • ****
  • Сообщений: 304
  • +0/-0
  • 0
    • Просмотр профиля
    • http://www.isfuture.com
Perl. Как стереть последние символы в строке?
« Ответ #1 : 28 Ноября 2002, 00:19:36 »
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"

Оффлайн Stas

  • Фанат форума
  • Старожил
  • ****
  • Сообщений: 304
  • +0/-0
  • 0
    • Просмотр профиля
    • http://www.isfuture.com
Perl. Как стереть последние символы в строке?
« Ответ #2 : 28 Ноября 2002, 00:20:31 »
ili esli tol\'ko sleva : ltrim()
a sprava: rtrim()

Оффлайн ThE0ReTiC

  • Главный по тарелочкам
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 4041
  • +2/-0
  • 2
    • Просмотр профиля
    • http://
Perl. Как стереть последние символы в строке?
« Ответ #3 : 28 Ноября 2002, 00:41:54 »
->Perl
AS IS...

Оффлайн Stas

  • Фанат форума
  • Старожил
  • ****
  • Сообщений: 304
  • +0/-0
  • 0
    • Просмотр профиля
    • http://www.isfuture.com
Perl. Как стереть последние символы в строке?
« Ответ #4 : 28 Ноября 2002, 01:18:11 »
a vot kto eto delo v Perl perenes ? chelovek pro SQL sprashival mezhdu prochim ... Tut ne v Perle ili PHP delo

Оффлайн Stas

  • Фанат форума
  • Старожил
  • ****
  • Сообщений: 304
  • +0/-0
  • 0
    • Просмотр профиля
    • http://www.isfuture.com

Оффлайн YA

  • Модератор
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 597
  • +0/-0
  • 0
    • Просмотр профиля
    • http://
Perl. Как стереть последние символы в строке?
« Ответ #6 : 28 Ноября 2002, 01:22:36 »
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
Заставлять БД делать лишнюю работу как раз не очень умно.
Литературный перевод с русского и английского на Perl. Дорого!

Оффлайн Stas

  • Фанат форума
  • Старожил
  • ****
  • Сообщений: 304
  • +0/-0
  • 0
    • Просмотр профиля
    • http://www.isfuture.com
Perl. Как стереть последние символы в строке?
« Ответ #7 : 28 Ноября 2002, 01:35:47 »
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 ! ;)

Оффлайн YA

  • Модератор
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 597
  • +0/-0
  • 0
    • Просмотр профиля
    • http://
Perl. Как стереть последние символы в строке?
« Ответ #8 : 28 Ноября 2002, 01:45:29 »
[OFF]Stas, в SQL-запросе любая мелочь может сделать погоду. И СУБД и Perl надо использовать по назначению. Кстати, если тебе так нравится твой вариант, то хотя бы замени "1=1" на просто "1".[/OFF]
Если у Duke нет вопросов, тема закрыта.
Литературный перевод с русского и английского на Perl. Дорого!

Оффлайн NeoNox

  • Координатор
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 3012
  • +0/-0
  • 0
    • Просмотр профиля
Perl. Как стереть последние символы в строке?
« Ответ #9 : 28 Ноября 2002, 11:22:02 »
moderator
Stas используй перекодировщики. Благо, в инете их валом. Или ссылку подкинуть?

Тема закрыта.
The documentations is your friend

 

Sitemap 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28