I contemplated doing the simple substitution but it's pretty specific to this example. Most customers should use either \n or \r\n for record separators but there is always the chance that one will have an ancient mainframe and send a file with something completely different. I'm looking at String::Interpolate right now, hopefully it will be useful.