0
我試圖修改此腳本:如何使用數組切片同時訪問數組中的幾個元素?
#!/usr/bin/perl
use strict;
use warnings;
use diagnostics;
use Math::Vector::Real;
use constant DEG_PER_RAD => 45/atan2(1, 1);
my ($source, $out) = qw/ OUT4 OUTABA12 /;
open my $in_fh, '<', $source or die qq{Unable to open "$source" for input: $!\n};
open my $out_fh, '>', $out or die qq{Unable to open "$out" for output: $!\n};
my @data;
push @data, V(split) while <$in_fh>;
my @aoa;
for my $i (0 .. $#data) {
for my $j (0 .. $#data) {
my $val1 = $data[$i];
my $val2 = $data[$j];
if ($val1 != $val2) {
my $math = sqrt(($val1->[0] - $val2->[0])**2 +
($val1->[1] - $val2->[1])**2 +
($val1->[2] - $val2->[2])**2);
if ($math < 2.2) {
push @aoa, "@$val1 @$val2";
}
}
}
}
for my $k (0 .. $#aoa) {
for my $m (0 .. $#aoa) {
my $aoadata1 = $aoa[$k];
my $aoadata2 = $aoa[$m];
my $vect1 = $aoadata1[0..2];
my $vect2 = $aoadata2[0..2];
print "$vect1 $vect2\n";
}
}
。
在腳本結尾處,我希望能夠在字段0-2中使用變量$ aoadata1和$ aoadata2進行操作。然而,我不能讓他們停止拋出錯誤的東西沒有引用正確(我認爲)。誰能告訴我爲什麼發生這種情況/如何解決它?
謝謝。
如果您想要數組中的每個元素,則無需對其進行分片。 –