Я хочу удалить некоторые определенные элементы из массива.У меня уже есть решение с grep
и одним элементом: @big = grep { ! /3/ } @big
.В случае нескольких элементов я хочу поместить их в массив и использовать foreach.@big
- это массив, из которого я хочу удалить элементы из @del
:
perl -e "@big = (1,2,3,4,5); @del = (2,4);
foreach $i (@del) {@big = grep { ! /$i/ } @big; print \"@big\n\"}"
Вот вывод:
1 3 4 5
1 3 5
Это прекрасно работает для меня.Если я хочу использовать переменную по умолчанию $_
, она не работает:
perl -e "@big = (1,2,3,4,5); @del = (2,4);
foreach (@del) {@big = grep { ! /$_/ } @big; print \"@big\n\"}"
Это не дает вывода.Есть идеи, что происходит?