in reply to Access and modify specific element of tab delimited .txt file

You can use the -F option to specify the split pattern for each line. If the pattern is found at the beginning of the string, $F[0] will be the empty string.

Edit: so replacing the empty element with 'ID' can be done like this: perl -lF"\t" -E 'print join qq<\t>, map { $_ || q<ID> } @F', which works because there are no 0 in your values.