Форум программистов CODEBY.NET Хостинг в Беларуси — Active Technologies

Разработка бизнес сайтов

Нужны клиенты? Тогда сюда быстрее...
X   Сообщение сайта
(Сообщение закроется через 2 секунды)

Здравствуйте, гость ( Вход | Регистрация )




> Segmentation Fault в регулярном выражении
Вадим
Вставить ник
сообщение 2:04:2008, 19:13
Цитата Ответить 


Новенький
*

Группа: Программист
Сообщений: 2
Регистрация: 27:05:2006
Пользователь №: 4 447
Специализация: Web 2.0



Репутация: - 0 +


Доброго времени суток!


Есть строчки кода:
$CONTENT =~ m/title=\"Длительность\/размер\"((.*?|\s*?)*?)>((.*?|\s*?)*?)&nbsp;\/&nbsp;((.*?|\s*?)*?)<br>/i;
my $DURATION = $3;
my $SIZE = $5;

которые собственно выдирают данные из строчек типа:

title="Длительность/размер" width="12" height="12" class="icon">04:44&nbsp;<span class="size">11.06Mb</span><br>

Непонятно почему, но в первой строчке скрипт стал выпадать в Segmentation fault.

В чём может быть причина?
(Подразумеваю, что хостер установил какие-то ограничения на perl'овые процессы, т.к. раньше этот скрипт работал нормально).

Можно ли как-нибудь оптимизировать это выражение?


С уважением,
Вадим
Подняться вверх 
 
Сообщение #1
 
Новая тема 
Ответов (1 - 1)
Vovochka
Вставить ник
сообщение 2:04:2008, 22:09
Цитата Ответить 


Продвинутый
**

Группа: Программист
Сообщений: 198
Регистрация: 4:08:2006
Из: Vladivostok.pm
Пользователь №: 5 749
Специализация: Perl, Web



Репутация: - 4 +


Не могу сказать почему ваш скрипт падает.

Попробуйте этот вариант.
/title="Длительность\/размер"[^>]*?>(\d+:\d+).+?(\d+(?:\.\d+))/i;
Подняться вверх 
 
Сообщение #2


Быстрый ответ  Ответить  Новая тема 

> Быстрый ответ
Полужирный
Курсив
Подчеркнутый
Вставить изображение
Смайлики
Цитата
Код
 
 Отправлять уведомления об ответах на e-mail |  Включить смайлики |  Добавить подпись
   

 

RSS Текстовая версия Сейчас: 17:05:2008 - 09:10
с нами можно связаться по:
телефону: +375-(29)-632-60-67
e-mail:info@codeby.net