| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Perl: Общие вопросы > Извлечение строк из определенного интервала |
| Автор: shtuceron 9.10.2011, 12:29 | ||
Здравствуйте, на сайте http://valera.asf.ru/perl/cookbook/cont.php?id=80 есть интересная конструкция
Как можно получить саму строку чтобы продолжить работать с ней? Спасибо! |
| Автор: Pfailed 9.10.2011, 14:37 | ||
Начальную, конечную или какую? |
| Автор: shtuceron 9.10.2011, 14:53 |
| которая находится между /НАЧАЛЬНЫЙ ШАБЛОН/../КОНЕЧНЫЙ ШАБЛОН/ |
| Автор: Pfailed 9.10.2011, 15:45 | ||
Ну первое что приходит в голову
|
| Автор: shtuceron 9.10.2011, 15:54 | ||
Правильно ли я понимаю что при чтении файла конструкция вида
будет построчно перебирать строки в файле, а если это xml файл и закрывающий тег находится на другой строке это выражение не сработает, как в таком случае анализировать весь файл чтобы применить эту конструкцию или есть еще какие нибудь варианты поиска совпадения во всем файле??? |
| Автор: Pfailed 9.10.2011, 16:01 |
| Сработает, вы почитайте по вашей же ссылке из первого поста. |
| Автор: shtuceron 9.10.2011, 16:25 | ||||
| Спасибо но пока не все получается) я взяз для примера xml файл:
и пытаюсь его обработать:
на выходе я ничего не получаю: совсем не то что я жду, как же достучаться до имен??? |
| Автор: Pfailed 9.10.2011, 17:29 | ||||
| Это потому что начальный шаблон и конечный и то что между ними на одной строке. Эта конструкция сработает для случаев когда строка между шаблонами не будет содержаться в строке с начальным или конечным шаблоном. Например:
Я надеюсь вы знаете про существование XML парсеров? С оператором диапазона можно сделать что-нибудь такое
Но это уже слишком громоздко. Советую поискать альтернативные пути, если это XML, то средств достаточно. |
| Автор: shtuceron 9.10.2011, 17:41 | ||||
Знаком, но не знаком ни с одним который бы мог вносить исправления по выбранным мною узлам (добавление/удаление/исправление атрибута или текстовому блоку) и сохранять исправления без обхода остальных узлов. XML::Simple читает весь xml в хеш, но ходить по нему (если я не знаю структуры xml документа) у меня почему то не получается( Пытаюсь делать так
ничего не происходит. |
| Автор: alezzz 9.10.2011, 18:30 |
| если не ошибаюсь то XML::Simple возвращает не хеш а ссылку (reference ) на хеш, почитайте внимательнее документацию, там есть примеры с испольхованием Data::Dumper; |