Perl数组和使用map的哈希 *** 作

Perl数组和使用map的哈希 *** 作,第1张

概述我有以下测试代码 use Data::Dumper;my $hash = { foo => 'bar', os => 'linux' };my @keys = qw (foo os);my $extra = 'test';my @final_array = (map {$hash->{$_}} @keys,$e 我有以下测试代码

use Data::Dumper;my $hash = {            foo => 'bar',os  => 'linux'           };my @keys = qw (foo os);my $extra = 'test';my @final_array = (map {$hash->{$_}} @keys,$extra);print Dumper \@final_array;

输出是

$VAR1 = [          'bar','linux',undef        ];

难道元素不应该是“bar,linux,test”吗?为什么最后一个元素未定义,如何将元素插入@final_array?我知道我可以使用push函数但是有没有办法将它插入到与使用map命令相同的行上?

基本上, *** 作数组意味着在实际脚本中的sql命令中使用,我想避免在此之前使用额外的变量,而是执行以下 *** 作:

$sql->execute(map {$hash->{$_}} @keys,$extra);
解决方法 $extra正在通过地图传递,因为在密钥测试的散列中没有条目,值为undef.在地图周围放置括号以强制解析:

$sql->execute((map {$hash->{$_}} @keys),$extra);
总结

以上是内存溢出为你收集整理的Perl数组和使用map的哈希 *** 作全部内容,希望文章能够帮你解决Perl数组和使用map的哈希 *** 作所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/langs/1213592.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2022-06-04
下一篇2022-06-04

发表评论

登录后才能评论

评论列表(0条)

    保存