my @array = ("index0","index1","index2","index3","index4"); delete $array[2]; # @array is now ("index0","index1",undef,"index3","index4") # but what I wanted was: # @array = ("index0","index1","index3","index4");