Привет.

Я кстати недавно столкнулся с подобным, надо парсить луашные дампы.
Думал сделать парротовскую грамматику, а потом что то как то взял, изучил за пару часов луа и написал
lua2perl.lua =) и сисопеном его прожовываю.
Конечно не хайтек, но ... зато работает и глюков нет.

зы, эти дампы похожи на луа.


Andrei пишет:
Примерно так:

s/ID=(?=[^}]+=[^}]+})//g;
s/=/=>/g;
s/([\]}])/$1,/g;
eval '$struct = {' . $_ . '};';

Ну, только нужно проверить, не содержат ли значения в кавычках символы [=}\]].

16 ноября 2009 г. 13:40 пользователь Pavel <[email protected] <mailto:[email protected]>> написал:

    Приветствую, коллеги!
    Столкнулся с одной задачкой, но прежде чем изобретать велосипед,
    хотел бы обратиться к сообществу.
    Есть сервер отвечающий на запросы вот таким вот текстом (между тире):
    ---------------------------------------
    TYPE1=[
    { ID=One NAME="Один айди" }
    { ID=Two NAME="Айди номер два" }
    { ID=Some NAME="Еще что-то" }
    { ID=Yeah NAME="Вот так вот" }
    ]
    TYPE2=[
    ]
    ----------------------------------------
    Задача состоит в том чтобы спарсить подобные ответы в структуры
    perl (хэши,
    массивы, ...) (ответы могут различаться по структуре, иметь вложенные
    массивы данных, и т.п.)
    В принципе всевозможные комбинации конечны, и можно написать n-ное
    кол-во
    регэкспов которые будут парсить
    этот вывод, но возможно есть какие-то решения наподобие модулей
    Config::Any::INI, которые позволяют обрабатывать подобные структуры и
    получать на выходе структуры perl?
    Спасибо.

    --
    Moscow.pm mailing list
    [email protected] <mailto:[email protected]> | http://moscow.pm.org




--
Andrei Protasovitski
< andrei[dot]protasovitski[at]gmail[dot]com >
Diemen, Netherlands
------------------------------------------------------------------------

--
Moscow.pm mailing list
[email protected] | http://moscow.pm.org

--
Moscow.pm mailing list
[email protected] | http://moscow.pm.org

Ответить