use strict; use warnings; use Tie::File; my $file = "./test.txt"; tie my @array,'Tie::File',$file or die $!; my $index = undef; foreach (0..$#array) {  $index = $_, last if $array[$_] =~ /NOID/; } splice(@array,$index,4) if defined($index); untie @array;