0
我想使用grep(在Perl中)過濾數組中的值。 我的目標是刪除陣列元素,其中「pending」元素爲INVALID_APNS且「token」元素爲空Perl - 使用多個條件的grep過濾數組元素
這不起作用 - 它會刪除所有內容。該陣列包含0個元素後代表,但應包含2.
use constant INVALID_APNS => -1;
@active_connections = (
{
pending => INVALID_APNS,
token=>'123'
},
{
pending => INVALID_APNS,
token=>'123'
},
{
pending => INVALID_APNS,
token=>''
},
);
@active_connections = grep { ($_->{pending} != INVALID_APNS) && ($_->{token} ne '')} @active_connections;
print scalar @active_connections;
我做錯了什麼?
謝謝 - 我似乎在此刻大腦凍結。你的解決方案有效 - 我不明白爲什麼我的錯誤。明天早上我會用一些濃烈的咖啡重新審視這個問題,一旦我得到它,我會將其標記爲已解決。謝謝! – user1361529
@ user1361529「它很大而且是紅色」的相反是「它不是很大或者不是紅色」。 – hobbs
對。我是個白癡。我不能相信我整天都在這上面度過。謝謝 – user1361529