Perl-скрипт преобразования (парсинга) текста
Требуется разработка 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. Возможность задания символа-разделителя разделов (в примере символ пробела)