nit : s/"^"/'^'
I think the names should be consistent: either both are "separators" or both are "delimeters"