Просмотр сообщений

В этом разделе можно просмотреть все сообщения, сделанные этим пользователем.


Сообщения - Alex V. White

Страницы: [1] 2
1
Perl / Парсинг XML средствами Perl
« : 03 Февраля 2006, 21:45:10 »
to ondr
буду разбирать XML::Simple, т.к. XML::Twig на моем сервере нет(((((((((
вот я еще слышал про XML::Parser. только в мануале к модулю ногу сломать можно, чего нибудь толкового (хоть на английском) не попадалось по случаю.

спасибо!

2
Perl / Импорт RSS
« : 03 Февраля 2006, 20:59:28 »
спасибо!
сейчас буду изучать!

3
Perl / Импорт RSS
« : 03 Февраля 2006, 20:21:06 »
to intenter
что ты используешь для написания этого движка?
стоит аналогичная задача и никак не могу разобраться с Перл модулями(

спасибо!

4
Perl / Парсинг XML средствами Perl
« : 03 Февраля 2006, 19:56:08 »
при помощи каких средств (модулей) Perl производится парсинг (разбор) XML файла?
желательно ссылку на пример, т.к. из доки к модулям ничего понять не могу(
 
спасибо!

5
Perl / Постраничный вывод
« : 13 Сентября 2005, 15:11:19 »
Вот полное решение этой задачи (приснилось на выходные):

my $start_pos = param ("start_pos"); //текущая страница для просмотра

my $page_size = 10; //количество данных на странице

my $max_rec  = param ("max_rec"); //всего записей в базе, как подсчитать сообразите, если не указано (при первом запуске) - значит надо подсчитать

my @nav_link; //массив навигационных связей
my $start_nav; //первая страница навигации
my $end_nav; //последняя страница навигации, т.е. на экран выводятся не все 154 ссылки на страницы, а только 10 (или сколько хотите), вот первая и последняя это и есть начало и конец этого блока ссылок

if (!defined (param ("start_pos")))
{
$start_pos = 0;
$max_rec = 0;
//подсчитываем количество записей в базе ($max_rec)
}

if ($max_rec > $page_size) //если страниц больше одной
{

$start_nav = $start_pos - 5*$page_size; //подсчитываем первую страницу блока ссылок (5 - это 10/2, т.е. если всего видимых ссылок у вас будет 10)

if ($start_nav < 0) { //если первая страница левее нуля сдвигаем последнюю в право на это количество

$end_nav = $start_pos + 5*$page_size + abs($start_nav);
$start_nav = 0;
}
else { // или высчитываем последнюю страницу без понтов
$end_nav = $start_pos + 5*$page_size;
}
if ($end_nav > $max_rec) { //если последняя страница больше количества записей всего

$end_nav = $max_rec;
}

   if ($start_pos == 0) //если находимся на первой странице - значит предыдущих нет
   {
   #push (@nav_link, "prev."); //выталкиваем в массив навигации неактивную ссылку на предыдущую страницу (у меня она не печатается)
   }
   else //если находимся не на первой стр.
   {
my $prev = $start_pos-$page_size; //вычисляем ссылку на предыдущую страницу

   push (@nav_link, " [
// здесь можите напихать туда свои параметры

push (@nav_link, ">prev.
]");   //закрываем ссылку
   }

// дальше рисуем ссылку на предыдущие 10 страниц
if ($start_pos <= (5*$page_size))
   {
   #push (@nav_link, " prev.10");
   }
   else
   {
my $prev_nav = $start_nav - $page_size;

   push (@nav_link, " [}

push (@nav_link, ">prev.10
]");   
   }

// рисуем ссылки на страницы

   for (my $i = $start_nav; $i < $end_nav; $i += $page_size)
   {
      my $page_no = int ($i/$page_size) + 1;
      if ($start_pos == $i)
      {
      push (@nav_link, " ".$page_no." ");
      }
      else
      {
      my $pag = $page_no*$page_size;
      
      push (@nav_link, " [

push (@nav_link, ">$page_no
]");   
   
      }
   }

// ссылка на следующие 10 страниц
   if (($start_pos+5*$page_size) >= $max_rec)
   {
   #push (@nav_link, " next");
   }
   else
   {
   my $next_nav = $end_nav;

   push (@nav_link, " [
push (@nav_link, ">next 10
]");   
   
   }

// ссылка на следующую страницу
   if ($start_pos+$page_size > $max_rec)
   {
   push (@nav_link, " next");
   }
   else
   {
   my $next = $start_pos+$page_size;

   push (@nav_link, " [
push (@nav_link, ">next
]");   
   
   }

// заканчиваем и печатаем всю эту лабуду

@nav_link=join("",@nav_link);
print "
@nav_link
\\n";

}

Этот код 100% работает (стоит у меня на сайте)
Если где то допустил ошибку - зазвиняйте, у меня в ссылки передаются куча параметров, я их убирал и мог где то промазать.

Последний вопрос - нафига я это так все ПОДРОБНО описываю?
Для тех кому это на самом деле надо! И кого коцают умные предложения читать мануал! Кто либо, когда либо что то понял в перлдок по модулям сторонних разработчиков?

Отдельное спасибо за помощь Корепанов Иван

6
Perl / Постраничный вывод
« : 07 Сентября 2005, 15:24:11 »
Необходимо сделать постраничный вывод данных из очень большого каталога. Как разбить на страницы понятно (и в форуме обсуждалось). Подскажите как сделать что бы ссылки на страницы выводились на все сразу, т.е.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 ... 101
так не красиво (особенно если эти линки займут несколько строк),
а пачками по 10 (например) штук, т.е.
<>
Спасибо!

7
Perl / Использование Image::Magick в Perl
« : 01 Августа 2005, 11:37:28 »
Спасибо!
уже разобрался. Если кому интересно - пишите - положу код.
за ссылку - спасибо! первую статью читал, а две вторые сейчас гляну.

8
Perl / Использование Image::Magick в Perl
« : 29 Июля 2005, 16:23:14 »
Нарыл тут модуль Image::Magick
вроде как неплохая вещь, только вот слабенький мануал на сайте разработчика(
Мне надо сделать фотографию с вотермарком.
Есть два гифа и их надо наложить один на другой.
Подскажите код на Перле для этого дела.
Спасибо!

9
я имел в виду мануал по XML::RSS::Parser

10
спасибо!
толковый мануал (желательно на русском) по этому делу не подскажите?

еще раз спасибо!

11
я так и думал))))))))))
тогда подскажите с регулярным выражением

12
много там всего интересного)
можно в кокретный модуль (желательно из стандартной поставки) пальцем ткнуть - время давит(((((((
Спасибо!

13
однако!
сейчас попробую разобраться

14
Читаю Перл скриптом файл новостей rss.xml
есть файл с новостями:


-
-
Обком
http://obkom.net.ua
Обком, интернет-газета
-
http://obkom.net.ua/export/obkom.gif
Обком, интернет-газета
http://obkom.net.ua

-
На Луганщине врачи "Скорой помощи" митингуют против грибов
http://obkom.net.ua/news/2005-07-18/1055.shtml?rss
Новости Украины
Mon, 18 Jul 2005 10:55:50 +0300
В Лисичанске (Луганская область) организован агитрейд машин "Скорой помощи" против употребления в пищу дикорастущих грибов.

-
Ющенко положил вето на депутатские поруки
http://obkom.net.ua/news/2005-07-18/1046.shtml?rss
Новости Украины
Mon, 18 Jul 2005 10:46:02 +0300
Президент Украины Виктор Ющенко применил право вето на закон о взятии на поруки депутатами любого человека, содержащегося под стражей.


и т.д.

как мне захватить только то, что находится месту тегами ?
т.е. служебная инфа, как то название издания и прочее мне не нужна.

вот код:

if (m,(.*),) { # ВОТ ТУТ ГРАБЛИ И ЕСТЬ, как корректно написать эту строку?

if (m,(.*),) {
$title=$1;
}

if (m,(.*),) {
$link=$1;
}

if (m,(.*),) {
$pubDate=$1;
}

if (m,(.*),) {
$description=$1;
# тут делаем с данными что надо
}

}

спасибо!

15
Perl / "выдирание" текста из файла
« : 06 Июня 2003, 18:33:15 »
Спасибо!
Уже вышло.
Буду форматировать.

Страницы: [1] 2