Xpoint
   [напомнить пароль]

Regexp с тегами

Метки: [без меток]
2008-02-09 10:40:19 [обр] v0l4arrra[досье]

Доброго времени суток.
Есть файл след формата

<file id=123456>
<content>binary</content>
<date>1202474377</date>
<owner>site.com</owner>
</file>

<file id=12345670000>
<content>text</content>
<date>1202474377</date>
<owner>site2.org</owner>
</file>
.........

Скрипт читает файл в переменную $text.
Теперь надо поменять значение тега date определенного id на другое.
Делаю так.

$text =~ s%<file id=$id>.*?<date>(\d+)<\/date>.*?<\/file>%$time%si;

Но регексп заменяет весь блок. Думаю решение тревиально но не могу решить.
Прошу помочь.

спустя 2 часа 22 минуты [обр] Nuclon(0/22)[досье]

$text =~ s{(<file id=$id>.*?<date>)\d+(</date>.*?</file>}{$1$time$2}si

вот что-то вроде этого.

спустя 24 минуты [обр] v0l4arrra[досье]
Спасибо.
Powered by POEM™ Engine Copyright © 2002-2005