0
У меня есть файл YAML в качестве входных данных. Во входном файле у меня есть строки продаж и продаж ($). Мне нужно взять только одну строку в качестве вывода.
Логика:Perl-скрипт для пропуска строки
- если продажи строки ($) присутствует, то мы должны взять эту строку.
- Если присутствуют как продажи ($), так и ряды продаж, нам нужна строка продаж ($).
- Если строка продаж присутствуют, то нам нужны продажи строка. (Только если продажи строка присутствует)
Может кто-нибудь руководство, как достичь этого Perl 5?
Моего Входной файл выглядит как ...
---
Order ID: W00875205405667
Sales($): '7.5'
Transaction Datetime: 2015-03-29 16:17:00
---
Order ID: W00875205405668
Sales: '74.50'
Sales($): '72.5'
Transaction Datetime: 2015-03-29 16:17:00
---
Order ID: W00875205405669
Sales: '12.50'
Transaction Datetime: 2015-03-29 16:17:00
---
нужен выходной файл как:
---
Order ID: W00875205405667
Sales: '7.5'
Transaction Datetime: 2015-03-29 16:17:00
---
Order ID: W00875205405668
Sales: '72.50'
Transaction Datetime: 2015-03-29 16:17:00
---
Order ID: W00875205405669
Sales: '12.50'
Transaction Datetime: 2015-03-29 16:17:00
---
Вы не 'продаж ($) и' продаж() 'строки в любой части этого YAML файла, как ключи картографирования YAML чувствительны к регистру. FWIW у вас даже нет 'Sales' ** или **' Sales ($) 'во всех них, так как последний документ в этом файле состоит только из Null-скаляра. Вы бы узнали и сделаете одолжение, используя правильный анализ YAML (на Perl или на любом языке). Использование regex не подходит для YAML, как и для HTML/XML/JSON/CSV. – Anthon