gpt4 book ai didi

perl - 当该行包含额外的未转义双引号时,如何使用 Text::ParseWords::parse_line?

转载 作者:行者123 更新时间:2023-12-05 01:18:54 25 4
gpt4 key购买 nike

我正在使用来自 Text::ParseWordsparse_line解析一行文本。但是,当一对双引号内有未转义的双引号 (") 时,parse_line 会失败。

例如:

use Text::ParseWords; 
...
my $line = q(1000,"test","Hello"StackOverFlow");
...
@arr = &parse_line(",",1,$line);

我不想转义内部双引号(例如 "Hello\"StackOverFlow")。

有没有其他的方法来解析这条线?

最佳答案

使用@TLP 和@ThisSuitIsBlackNot 注释:

use 5.022;
use Text::CSV;
use Data::Dumper;
my $line = q(1000,"test","Hello"StackOverFlow");

my $csv = Text::CSV->new( {allow_loose_quotes => 1, escape_char => '%'});
$csv->parse($line);
my @fields = $csv->fields();
print Dumper \@fields;


__DATA__
$VAR1 = [
'1000',
'test',
'Hello"StackOverFlow'
];

关于perl - 当该行包含额外的未转义双引号时,如何使用 Text::ParseWords::parse_line?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34748766/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com