【发布时间】:2013-03-01 15:10:53
【问题描述】:
我有一个大数组的引用,一些元素(从某个索引到末尾)需要习惯于在数据库中插入新行。
无论如何我可以创建对更大数组的一部分的引用吗? 或者另一种方法我可以使用带有 DBI 的 execute_array 函数的数组的一部分,而无需在后台使用 Perl 复制加载数据?
这是我想要更有效地做的事情:
$sh->execute_array({}, [ @{$arrayref}[@indexes] ]);
【问题讨论】:
-
(哦,我明白了,args 是一个“列”列表,其中每一列都是对该列的值数组的引用。)
-
看起来你的黑魔法师攻击了我的鸡。嗯……炸鸡……
-
我一直在想。我能不能只做这样的事情:
$arrayref += $index; $sh->execute_array({}, $arrayref);我知道这个确切的代码不会工作,因为 perl 不是 C,但这并不意味着我不能完成同样的事情。 -
@JonathonWisnoski 不,Perl 引用是 not 指针。但是,您可以通过
shift @$arrayref(或splice @$arrayref, 0, $number)从引用的数组中删除第一个元素,然后使用修改后的数组。这将非常接近您的代码。
标签: performance perl slice