Я огляделся, но не могу найти подходящего рабочего решения. Я пытаюсь использовать TEXT: CSV_XS, поэтому речь идет не просто о том, чтобы сделать что-то трудное с регулярным выражением. Я не могу легко установить TEXT :: CSV, но у меня есть версия XS.Parse CSV со встроенными кавычками на смешанной строке
Мне просто нужно проанализировать поля csv, которые я потом сломаю в пары kv.
use Text::CSV_XS;
use Data::Dumper;
my $csv = Text::CSV_XS->new ({ allow_loose_quotes => 1,
allow_whitespace => 1,
eol => $/ });
my $str3 = '09/11/2016 22:05:00 +0000, search_name="ThreatInjection - Rule", search_now=1473644880.000, search="bunchof|stuff1,bunch%of-stuff2", count=100';
my $status = $csv->parse($str3);
my @details = $csv->fields();
print $csv->error_diag();
print Dumper(\@details);
Результирующий выход:
$VAR1 = [
'09/11/2016 22:05:00 +0000',
'search_name="ThreatInjection - Rule"',
'search_now=1473644880.000',
'search="bunchof|stuff1',
'bunch%of-stuff2"',
'count=100'
];
Итак, попросите, чтобы получить поиск = "bunchof | stuff1, гроздь% из-stuff2", чтобы остаться в одном поле. Я уверен, что ответ прост, но, тем не менее, немного тупик. Любая помощь оценивается.
Спасибо за быстрый и простой ответ. Получил себя так глубоко в одной коробке, что я не думал смотреть в другую. –