in reply to Parse mailing addresses with a regex

You might consider working backwards, or from the middle out, first extracting things you are more confident about. For example:

$line =~ s/\w*\s*[:upper:]{2}\s(\d{5}\s*(\d{3][-\s]*\d{3}-\d{4})\s*(.* +)$//; ($custCity, $custState, $custZip, $custTel, $custComments) =($1, $2, $ +3, $4, $5); $line =~ s/(\d*)\s*(.*)\s*(\d*.*)$/; ($custNum, $custName, $custStreet) = ($1, $2, $3);

This assumes that cities are one word, so it won't work if any of your customers are in New York City or Atlantic City or Boca Raton or Las Vegas.

--
TTTATCGGTCGTTATATAGATGTTTGCA