gpt4 book ai didi

使用映射的 Perl 数组和哈希操作

转载 作者:行者123 更新时间:2023-12-03 16:47:19 27 4
gpt4 key购买 nike

我有以下测试代码

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正在通过map并且由于哈希中没有带有键 test 的条目值为 undef .在 map 周围加上括号强制解析:

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

关于使用映射的 Perl 数组和哈希操作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2401748/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com