http://www.perlmonks.org?node_id=44523


in reply to How do I handle mid-line carriage returns in a flatfile database?

While this is probably not the best way to go about this, the following has worked for me on many an occation:

use CGI qw(header param); print header; foreach (param) { ($$_ = param($_)) =~ s/\r\n|\n/<BR>/g; }

Note: This won't work with strict, and therefore probably shouldn't be used as is. Something a little safer might be:

(my $some_variable = param('textbox-name')) =~ s/\r\n|\n/<BR>/g;

The key thing is that depending on the user's OS, browser client, or other unknown something, you might end up with your params having just /\n/ or /\r\n/ in them. (Blame Micro$oft. Works for me.) ;) When I'm storing stuff in a flat-file "database," I'll usually store carriage returns as either /<BR>/ or /\\n/ and have Perl, JavaScript, or whatever deal with converting it to something else later.

Shoot me an email if this doesn't help or answer what you're looking for.