As others have said,
delete on an array is not used that often, I can remember only using it once or twice ever for a special situation when I really wanted to leave an
undef entry.
Typically I would say you probably want splice or the other array functions others have mentioned pop, shift because these all and remove array elements and shrink the array and that is a much more often used functionality, at least from my experience.
Looking at your code you probably want this, no?
my $file="test_html";
my @file_lkp=("file1","file2");
for (my $i=0;$i<=$#file_lkp;$i++) {
splice(@file_lkp, $i, 1) if $file eq $file_lkp[$i];
}