我一直在研究一些用于数据挖掘的Perl库.这些库充满了嵌套循环,用于收集和处理信息.我正在使用严格模式,我总是my
在第一个循环之外声明我的变量.例如:
# Pretty useless code for clarity purposes: my $flag = 1; my ($v1, $v2); while ($flag) { for $v1 (1 .. 1000) { # Lots and lots of code... $v2 = $v1 * 2; } }
对于我在这里阅读的内容,性能方面,最好在循环之外声明它们,然而,我的代码的维护变得越来越困难,因为一些变量的声明最终远离它们实际上的位置用过的.
像这样的东西会更容易保持:
my $flag = 1; while ($flag) { for my $v1 (1 .. 1000) { # Lots and lots of code... my $v2 = $v1 * 2; } }
我没有太多的Perl经验,因为我来自主要使用C++.在某些时候,我想开源我的大多数库,所以我希望它们尽可能地满足所有Perl大师的需求.
从专业的Perl开发人员的角度来看,这些选项之间最合适的选择是什么?