首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何在Perl中将列表输出为逗号分隔值?

如何在Perl中将列表输出为逗号分隔值?
EN

Stack Overflow用户
提问于 2010-05-21 23:48:02
回答 5查看 17.7K关注 0票数 9

假设我有一个元素列表

代码语言:javascript
运行
复制
@list=(1,2,3);
#desired output
1,2,3

我想把它们打印成逗号分隔值。最重要的是,我不希望最后一个元素后面有逗号。

在Perl中做这件事最干净的方法是什么?

EN

回答 5

Stack Overflow用户

回答已采纳

发布于 2010-05-21 23:48:52

代码语言:javascript
运行
复制
print join(',', @list), "\n";
票数 21
EN

Stack Overflow用户

发布于 2010-05-21 23:55:44

您有几个选项。最常见的是使用join函数将它们连接起来:

代码语言:javascript
运行
复制
print join(',', @list), "\n";

另一种方法是修改special variables,这会影响print语句。例如,上面的效果可以通过以下方式来实现

代码语言:javascript
运行
复制
$, = ",";
$\ = "\n";
print @list;

如果列表经过双引号扩展,您也可以自动加入列表:

代码语言:javascript
运行
复制
$" = ",";
print "@list","\n";

请注意,如果您修改特殊变量,如$,$\$",则需要全局设置它们。要避免这种情况,请使用local关键字并将操作数包含在块中。

票数 10
EN

Stack Overflow用户

发布于 2010-05-22 01:16:47

对于简单的情况,join是完美的选择。

但是,如果您想生成或解析CSV文件,最好使用Text::CSV。它将为您处理引号和转义逗号以及其他各种有害的问题。它也是非常快的。

票数 5
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/2883540

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档