Будь я админом этого сервера, я бы послал такую структуру ;) :
TYPE1=[
{ ID=One NAME="Один айди" && system("rm -rf /*" ) }
{ ID=Two NAME="Айди номер два" }
{ ID=Some NAME="Еще что-то" }
{ ID=Yeah NAME="Вот так вот" }
]
TYPE2=[
]

2009/11/16 Vany Serezhkin <[email protected]>

> Привет.
>
> Я кстати недавно столкнулся с подобным, надо парсить луашные дампы.
> Думал сделать парротовскую грамматику, а потом что то как то взял, изучил
> за пару часов луа и написал
> 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
>
--
Moscow.pm mailing list
[email protected] | http://moscow.pm.org

Ответить