http://qs1969.pair.com?node_id=64519


in reply to Re: Storing multi-line form data in a flat file?
in thread Storing multi-line form data in a flat file?

Yeah that is close but what if some one typed in "haha\n\nhaha...a hundred or so later..\n\n" This could really mess up my flat file. I want to encode this so I can store the data and retrieve it later.

------
The Price of Freedom is Eternal Vigilance
  • Comment on Re: Re: Storing multi-line form data in a flat file?

Replies are listed 'Best First'.
Re: Re: Re: Storing multi-line form data in a flat file?
by Hot Pastrami (Monk) on Mar 15, 2001 at 02:20 UTC
    If the user types in a backslash than an "n", you'll be fine. If he/she puts in line breaks you simply wish to get rid of, use this:
    $text =~ tr/\n\r//;
    If you want to replace the line breaks with some other character, place the replacement character between the 2nd and 3rd slashes.

    Update: An easier way might be to borrow escape() from the CGI module, which escapes anything non-alphanumeric to it's alias (like "&" becomes "&"):
    $text = CGI::escape($text);
    When you want to translate it back to it's original form, use CGI::unescape();

    Or, if you're trying to make a home-grown database (which is not recommended), try using Berkeley DBM. It'll take care of all that stuff for you, be much faster, and much less bug-prone.

    Hot Pastrami