Sas*_*wat 7 perl join arrayref
我是perl的新手.
我试图使用连接与数组引用,但它不起作用.
这是我的代码.
my $arr = {
'items' => ('home', 'chair', 'table')
};
my $output = join(',', $arr->{'items'});
print $output;
Run Code Online (Sandbox Code Playgroud)
这是印刷
table
Run Code Online (Sandbox Code Playgroud)
代替
home,chair,table
Run Code Online (Sandbox Code Playgroud)
有人可以在这方面帮助我吗?
amo*_*mon 18
在Perl中,parens不会创建数组.他们只挑选优先权.hashref
{ 'items' => ('home', 'chair', 'table') }
Run Code Online (Sandbox Code Playgroud)
是相同的
{ 'items' => 'home', 'chair' => 'table' }
Run Code Online (Sandbox Code Playgroud)
如果要将数组放入散列中,则需要使用可以使用[ ... ]
以下内容创建的arrayref :
my $hash = { 'items' => ['home', 'chair', 'table'] }
Run Code Online (Sandbox Code Playgroud)
现在,如果你运行你的代码,你会得到类似的东西
ARRAY(0x1234567)
Run Code Online (Sandbox Code Playgroud)
作为输出.这是打印参考的方式.我们需要取消引用它才能加入元素.我们可以使用@{ ... }
数组解引用运算符.然后:
print join(',', @{ $hash->{items} }), "\n";
Run Code Online (Sandbox Code Playgroud)
要了解有关Perl中的引用和复杂数据结构的更多信息,请阅读
归档时间: |
|
查看次数: |
5758 次 |
最近记录: |