2015-06-11 3 views
-4

Я хочу удалить общий элемент из массива. Например:Удалить общие значения из массива multimimension perl

array1 = 
[ 
{'id'=>78597,'data'=>'great'} 
]; 

array2= 
[ 
{'id'=>78345,'data'=>'first'},{'id'=>78597,'data'=>'great'}, 
{'id'=>78355,'data'=>'second'} 
] 

Теперь ключ Id '78597' распространен как в массиве
Теперь я хочу, чтобы удалить этот элемент из массив2 на основе ключа 'id'. В примерах я упоминал, где все одноразмерное.

+4

Вы задали 10 вопросов, и у ** никогда ** принимается любой ответ. Вы не получили правильного ответа на свои вопросы? И для этого _what вы пробовали до сих пор? _ – serenesat

+0

нет, это не так, что я не принял ответ. Даже вчера я спросил и получил ответ и проверил. Для этого я попытался таким образом. – user762641

+0

@names = grep {my $ name = $$ _ [0]; не grep $ _ eq $ name, @employees} @names; но как получить доступ к полю coloumn, которого я не знал. – user762641

ответ

4

Вы не можете создать %seen хэш-поиск и фильтр @$array2,

my %seen; 
@seen{ map $_->{id}, @$array1 } =(); 

@$array2 = grep { !exists $seen{$_->{id}} } @$array2; 
+0

Извините, я точно не получил результат. – user762641

+0

@ user762641 https://eval.in/379687 –

Смежные вопросы