|
ru.perl- RU.PERL ---------------------------------------------------------------------- From : vitus@ice.ru 2:5020/400 02 Feb 2002 12:40:12 To : Alexey Gradovtsev Subject : Re: может регексп какой? -------------------------------------------------------------------------------- Alexey Gradovtsev <Alexey.Gradovtsev@p7.f1247.n5030.z2.fidonet.org> wrote: AG>Приветствую тебя, о Andrey всем Andreyам! >>> есть строка, в ней поля, разделённые, скажем '||'. надо посчитать >>> количество полей, причём одним выражением, чтобы можно было использовать AS>> perldoc -f split AS>> P.S. А вообще-то, наличие таких строк есть повод срочно переписывать AS>> скрипт, менять стиль программирования и т.п. Обычно авторы таким образом AS>> проявляют свою самобытность, незнание структур данных и нежелание AG>А если требуется сделать выборку записей из БД, и чтобы потом много раз не AG>дергать базу, сохраняем выборку в файле, разделяя записи каким-нибудь AG>символом? То данная задача называется _сериализацией_ структур данных, и для ее решения существует, например, модуль Storable. В некоторых простых случаях, я, правда, пользуюсь вышепроцитированным приемом, но в качестве разделителя употребляю символ, который для этого специально по стандарту предназначен. ASCII UNIT SEPARATOR называется. AG>Выборка может быть случайной, с требованием неповторения записей, и AG>cgi-скрипт использует ее не один раз, а каждый раз при запуске, до тех пор, AG>пока записи не кончатся. Тогда как быть? Головой думать. Потому что в норме чтение из базы не медленнее чтения из файла. а база еще и покэшировать может. AG>Другой путь вижу - передавать через форму id записей, которые уже AG>использованы, и на каждой итерации выбирать из БД одну из оставшихся, но ведь AG>извращение? Это не извращение. Если подумать что протокол HTTP stateless, что у юзера может отвалиться коннект в любой момент, и не восстановиться в течении нескольких часов, то извращением окажется таки хранение сессий на сервере. -- Victor Wagner vitus@ice.ru Chief Technical Officer Office:7-(095)-748-53-88 Communiware.Net Home: 7-(095)-135-46-61 http://www.communiware.net http://www.ice.ru/~vitus Отправлено через сервер Форумы@mail.ru - http://talk.mail.ru --- ifmail v.2.15dev5 * Origin: Talk.Mail.Ru (2:5020/400) Вернуться к списку тем, сортированных по: возрастание даты уменьшение даты тема автор
Архивное /ru.perl/6488c6922ad1.html, оценка из 5, голосов 10
|