如何解决将逗号分隔的值逐行放入新文件中
从命令行,我们传递多个用逗号分隔的值,例如sydney,delhi,NY,Russia
作为选项。这些值将存储在perl脚本中的$runTest
下。现在,我想在脚本下创建一个新文件,其内容为$runTest
,但要逐行显示。例如:
INPUT(从命令行传递的值):
sydney,Russia
输出(在新文件:myfile下):
sydney
delhi
NY
Russia
解决方法
在这个简单的示例中,在这种情况下,在分隔符上使用split
比tr
更好。几点注意事项:使用snake_case代替CamelCase作为名称,并使用use autodie
使open
,close
等具有致命性,而无需使用or die "..."
使代码混乱:
use autodie;
my $run_test = 'sydney,delhi,NY,Russia';
open my $out,'>','myFile';
print {$out} map { "$_\n" } split /,/,$run_test;
close $out;
通常来说,为了获得更强大的解析,除了这个简单的示例之外,更喜欢使用专用模块,例如Text::CSV或Text::CSV_XS进行csv解析。与过于简单的{{ 1}},split
可以正确输入/输出带引号的字段,包含定界符(逗号),二进制字符的字段,提供错误消息等。示例:
Text::CSV_XS
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。