No, shift removes the first element of @ARGV on each call, returning the element it removed.
so shift physically removes the entry in @ARGV? this is interesting and i did not realize that. also thanks for pointing out the problem there, i actually did some reading on matching myself, and was trying some new stuff and forgot to change it back to how it was, so i will go back and change that right now. thanks.
the provided sample data was not '\t'. as far as i can tell it was not tab separated. it was a double space. there is no reason under the sun (that i can think of) to have two white spaces between data, actually spaces between data is kind of flawed in itself really, your better off using a comma or some other separator that is not normally used. anyways, the same regex would match both cases as well. if you want to pick that apart thenyoull have a blast if go further down in the comments below and find the person who matched two words in different columns. that would throw off your data quicker than removing a white space.
EDIT: you also took what i said out of context for the most part, what i said was: As long as that does not corrupt your data set it should be fine (and i am sure it is fine)