我有以下测试代码。
输出结果为:
元素不应该是"bar, linux, test"吗?为什么最后一个元素是未定义的,如何将元素插入 @final_array?我知道可以使用push功能,但是否有一种方法可以在使用map命令的同一行中插入它?
基本上,修改后的数组旨在在实际脚本中用于SQL命令,并且我希望在此之前避免使用额外的变量,而是做类似以下的事情:
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);