我有两组动态数组,它们有一些像这样的元素:
my @arr1 = qw( e1 e2 );
my @arr2 = qw( n1 n2 );
我想创建诸如(e1,n1),(e1,n2),(e2,n1)和(e2,n2)或
之类的对 my @arr1 = qw( e1 );
my @arr2 = qw( n1 n2 );
获取(e1,n1), (e1,n2)
但我不知道如何创建它并将其存储在哈希中进行处理。
任何人都可以帮忙吗?
答案 0 :(得分:2)
my @arr1 = qw( e1 e2 );
my @arr2 = qw( n1 n2 );
for my $x (@arr1) {
for my $y (@arr2) {
print("($x,$y)\n");
}
}
如果您有任意数量的数组:
use Algorithm::Loops qw( NestedLoop );
my @arrs = (
[qw( e1 e2 )],
[qw( n1 n2 )],
);
my $iter = NestedLoops(\@arrs);
while (my @pick = $iter->()) {
print("(" . join(',', @pick) . ")\n");
}