Версия для печати темы

Нажмите сюда для просмотра этой темы в обычном формате

Форум программистов _ Perl программирование _ Segmentation Fault в регулярном выражении

Автор: Вадим 2:04:2008, 19:13

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


Есть строчки кода:
$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'овые процессы, т.к. раньше этот скрипт работал нормально).

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


С уважением,
Вадим

Автор: Vovochka 2:04:2008, 22:09

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

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

Русская версия Invision Power Board (http://www.nulled.ws)
© Invision Power Services (http://www.nulled.ws)