我有2門陣列(@system
,@reserve
)。每個包含一個數字列表,我想比較和拼接(可能?)@reserve
中匹配@system
中的數字的數字。比較2個陣列和除去比賽
我已經嘗試了一些響應的發現和拼接的問題在那裏,但他們似乎並不奏效。使用Perl 5.12.4。
@reserve
中的數字始終爲11000..136000,系統中的數字始終在@system
範圍內,但會有所不同。我一直專注於代碼如下:
my @system = query();
my @reserve = 11000..136000;
foreach my $num (@system) {
my $index = 0;
$index++ until $reserve[$index] eq $num;
splice (@reserve,$index,1);
}
查詢()只是要求系統(PBX)的號碼清單,並將其推入@system
。
任何幫助表示讚賞。
感謝,
馬蒂
雖然這個問題使用散列鍵作爲一個集合可以更好地解決,在編程點上,你的內部循環可能是冒險的因爲如果'$ num'沒有出現在'@ reserve'中,它可能會掛起。此外,您的值似乎是數字,但您使用'eq',* string *等號運算符來比較它們。 – zgpmax 2012-03-14 16:18:34