我输入了以下代码:
my @resultsArray;
my @dataArray;
while (my ($id, $originLat, $originLng, $compensation ) = $sth->fetchrow_array) {
@dataArray = ($id, $originLat, $originLng, $compensation);
print "ID: $id Lat: $originLat Lng: $originLng Compensation: $compensation\n";
print "Data Array: @dataArray\n";
#the above code words.
#I declare
push (@resultsArray, @dataArray);
}
my (@r1, @r2, @r3, @r4);
#issue here
for (@resultsArray) {
@r1 = pop(@resultsArray);
@r2 = pop(@resultsArray);
@r3 = pop(@resultsArray);
@r4 = pop(@resultsArray);
print "ID: $r4[0] Lat: $r3[0] Lng: $r2[0] Compensation: $r1[0]\n";
#@r1 = ();
}
上面的代码有效。数组@dataArray
被压入@resultsArray
堆栈并@r1, @r2, @r3, @r4
分别弹出。然而,这是一个糟糕的代码。有没有更好的方法,一种更简洁的方法,行数更少,仍然可读并且通常更专业?
我正在寻求提高我的技能。我觉得如果我带着这样的东西出现,我可能会成为一个房间的笑柄。