![]() |
Модераторы: korob2001, ginnie |
![]() ![]() ![]() |
|
JamesMorgan |
|
|||
Новичок Профиль Группа: Участник Сообщений: 35 Регистрация: 11.7.2011 Репутация: нет Всего: 1 |
Добрый день, пишу вам в надежде найти решение, суть такая есть текстовый файл его содержимое:
Можно ли при чтение файла превратить эту строчку в анонимный хеш? Если бы строки распологались на каждой строчке и без { } то тогда я бы обработал данные и сделал бы анонимный хеш, но нужно строго в таком варианте. ![]() |
|||
|
||||
reiserford |
|
|||
Новичок Профиль Группа: Awaiting Authorisation Сообщений: 22 Регистрация: 20.3.2012 Репутация: 1 Всего: 1 |
eval
|
|||
|
||||
Pfailed |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 933 Регистрация: 19.7.2009 Репутация: 22 Всего: 39 |
А как бы вы сделали если бы они стояли на разных строках?
|
|||
|
||||
vadiml |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 310 Регистрация: 27.7.2007 Репутация: 5 Всего: 7 |
JamesMorgan
JSON конверторы именно этим и занимаются. Можете им строку скормить, предварительно чуть поправив, или посмотреть код в их модулях. |
|||
|
||||
JamesMorgan |
|
||||
Новичок Профиль Группа: Участник Сообщений: 35 Регистрация: 11.7.2011 Репутация: нет Всего: 1 |
Вот так бы сделал, но это на скорую руку:
Ок, буду смотреть в сторону JSON |
||||
|
|||||
Pfailed |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 933 Регистрация: 19.7.2009 Репутация: 22 Всего: 39 |
Для вашего простейшего случая подойдет регулярное выражение:
Но если требуется уметь распозновать вложенные хеши и штуки типа {a => "x => {y => z}"}, то задача становится поинтересней. Тут я могу порекомендовать модуль Regexp::Grammars. |
|||
|
||||
arto |
|
|||
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1495 Регистрация: 31.10.2004 Репутация: 38 Всего: 40 |
# cat > /tmp/tst
{ id => 1, path => 65, url => 31 } # perl -MData::Dumper -le 'print Dumper do $ARGV[0]' /tmp/tst $VAR1 = { 'url' => 31, 'path' => 65, 'id' => 1 }; # |
|||
|
||||
![]() ![]() ![]() |
Правила форума "Perl" | |
|
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, korob2001, sharq. |
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | Perl: Общие вопросы | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |