Ale*_*lex 144
只需使用join():
# assuming @array is your array:
print join(", ", @array);
Run Code Online (Sandbox Code Playgroud)
Eug*_*ash 29
你可以使用Data::Dump:
use Data::Dump qw(dump);
my @a = (1, [2, 3], {4 => 5});
dump(@a);
Run Code Online (Sandbox Code Playgroud)
生产:
"(1, [2, 3], { 4 => 5 })"
Run Code Online (Sandbox Code Playgroud)
Dav*_*idO 18
如果你正在为那些刚开始使用Perl的人所理解的那种清晰度进行编码,那么传统的这种结构会说明它的含义,具有高度的清晰度和易读性:
$string = join ', ', @array;
print "$string\n";
Run Code Online (Sandbox Code Playgroud)
这个结构记录在perldoc -fjoin.
但是,我一直都很喜欢这么简单$,.特殊变量 $"用于插值,特殊变量$,用于列表.将其中任何一个与动态范围约束' local' 结合使用,以避免在整个脚本中产生连锁反应:
use 5.012_002;
use strict;
use warnings;
my @array = qw/ 1 2 3 4 5 /;
{
local $" = ', ';
print "@array\n"; # Interpolation.
}
Run Code Online (Sandbox Code Playgroud)
或者与$,:
use feature q(say);
use strict;
use warnings;
my @array = qw/ 1 2 3 4 5 /;
{
local $, = ', ';
say @array; # List
}
Run Code Online (Sandbox Code Playgroud)
特殊变量$,并$"记录在perlvar中.该local关键字,以及它如何被用来限制改变全球标点符号变量的值的影响可能是最好的描述perlsub.
请享用!
And*_*eas 10
此外,您可能想尝试Data :: Dumper.例:
use Data::Dumper;
# simple procedural interface
print Dumper($foo, $bar);
Run Code Online (Sandbox Code Playgroud)
检查/调试检查Data::Printer模块.它只是做一件事而且只做一件事:
在屏幕上显示Perl变量和对象,格式正确(由人工检查)
用法示例:
use Data::Printer;
p @array; # no need to pass references
Run Code Online (Sandbox Code Playgroud)
上面的代码可能输出这样的东西(带颜色!):
[
[0] "a",
[1] "b",
[2] undef,
[3] "c",
]
Run Code Online (Sandbox Code Playgroud)