Perl-скрипт преобразования (парсинга) текста

Василий15 лет в сервисе
Данные заказчика будут вам доступны после подачи заявки
07.09.2010

Требуется разработка perl-скрипта, предназначенного для преобразования (парсинга) текстовых файлов в соответствии с заданным алгоритмом.

На вход скрипта поступает файл в кодировке UTF-8, который содержит блоки текста, разделенные символом перевода каретки \n. Каждый блок текста содержит девять разделов, состоящих из наименования раздела, и через разделитель (по умолчанию - символ двоеточия : ), текста раздела. Наименования разделов постоянны для всех блоков текста, разделы отделяются друг от друга символом пробела. Например, входной файл, содержащий два блока текста, будет иметь вид:

value1:text1 value2:text2 value3:text3 value4:text4 value5:text5 value6:text6 value7:text7 value8:text8 value9:text9

value1:text10 value2:text11 value3:text12 value4:text13 value5:text14 value6:text15 value7:text16 value8:text17 value9:text18

В результате работы скрипта должен формироваться текст в выходном потоке, содержащий построчно разделы блоков текста, без упоминания наименования раздела. Т.е. упомянутый выше входной файл должен быть приведён к виду:

text1

text2

text3

text4

text5

text6

text7

text8

text9

*****

text10

text11

text12

text13

text14

text15

text16

text17

text18

Скрипт должен иметь следующие настройки алгоритма преобразования:

1. Возможность задавать наименование разделов (value1, value2 и т.д.)

2. Какие разделы и в каком порядке должны отображаться в выходном файле (в приведённом выше примере - value1, value2 и т.д. до value9, однако, например, при настройке value2,value1,value9 для первого блока должно быть отображено:

text2

text1

text9

3. Возможность задания символа-разделителя блоков (в примере *****)

4. Возможность задания символа-разделителя наименования раздела и текста раздела (в примере : )

5. Возможность задания символа-разделителя разделов (в примере символ пробела)

Заявки фрилансеров