文本文件如下所示:
Interface IP-Address OK? Method Status Protocol
FastEthernet0/0 10.35.195.1 YES NVRAM up up
FastEthernet0/1 unassigned YES manual up down
SSLVPN-VIF0 10.35.195.1 YES unset up up
Loopback0 10.35.255.193 YES NVRAM up up
Loopback1 10.35.255.196 YES NVRAM up up
Loopback2 10.35.255.201 YES NVRAM up up
Loopback3 10.35.255.211 YES NVRAM up up
分隔符char是空格而不是“,”,这是Slurp
中的默认工具。
如何实现?
我尝试sep_char
,如下所示,但失败了。
my $data = Text::CSV::Slurp->load(file => 'table.txt',sep_char >= 0x20);
答案 0 :(得分:0)
您有语法问题。
=>
之后应为sep_char
,而非>=
。此外,简单的sep_char => ' '
应该足够了(而不是0x20
)。
答案 1 :(得分:0)
Text :: CSV :: Slurp使用Text::CSV模块来解析文件的行。 您使用的加载方法将选项传递给constructor of Text:CSV,您可能会输入拼写错误:
my $data = Text::CSV::Slurp->load(file => 'table.txt', sep_char => ' ');
重要:强> Text :: CSV_XS不是用于检测用于引用和分隔字段的字符。解析是使用预定义的设置完成的。