Олег, описание проблемы не очень понятно.
Ваш код ничего не удаляет из массива. Я предполагаю, что вы хотите перебирать массив и печатать данные только тогда, когда элемент удовлетворяет некоторому условию.
Пожалуйста, посмотрите следующий пример, где я имитирую в массиве, хранящем температуру, сообщаемую фермой серверов
#!/usr/bin/perl -CS
#
# vim: ai:ts=4:sw=4
#
use strict;
use warnings;
use feature 'say';
my $max_temp = 36; # maximum permited termperature
my @data = <DATA>; # fill array with some data
for (@data) {
next if /^\s*$/; # skip empty lines
chomp;
my($s,$t) = split ',';
say chr(0x267F) . " $s temp=$t" if $t > $max_temp;
}
__DATA__
server1,32
server2,30
server3,42
server4,32
server5,37
server6,36
server7,30
Выход
♿ server3 temp=42
♿ server5 temp=37