Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Perl: Общие вопросы > Работа с массивом - предложите красивое решение


Автор: MakTpaxep 5.5.2011, 14:31
Здравствуйте!

 Как известно цикл foeach пробегает по всем элементам массива.
 Что делать если нам нужно удалить текущий элемент из массива, если он попадает под какую-либо проверку?

Код

foreach $line (@data)
{
 if($line=~m/delete\sme/)
 {
  ### что тут писать?
 }
}


Автор: DurRandir 5.5.2011, 14:47
@data = grep {!/delete\sme/} @data

PS: это не совсем решение задачи "удалить текущий элемент", но полностью эквиваленто приведённому коду, где никакой дополнительной обработки нет

Автор: MakTpaxep 5.5.2011, 15:35
Спасибо - так уже интереснее)

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)