Deine schwierigste Wahl wird wohl die Wahl der Datenbank sein
Diese kann auch ein Textfile sein.
Jedes Speichermedium hat seine eigene unabhängige Formatierung. Zeichen im Inhalt, die mit dieser Formatierung Probleme bieten könnten, müssen escaped werden.
Beispiel einer Textdatei
par1=wert\tpar2=wert\t\n
Hier wird jedes Datum durch den Namen eingeleitet und durch einen tabulatur abgeschlossen.
Der ganze Record wird durch ein Linefeed abgeschlossen.
Damit gibt es zwei sensible Zeichen \t Tabulator und \n Linefeed, die nicht im Inhalt der Daten vorkommen dürfen und durch eine Regel maskiert werden müssen, wenn sie gespeichert werden, aber wiederum demaskiert werden müssen, wenn sie aus dem File gelesen werden.
Eine mögliche Regel wäre nun:
Maskerung
$frominput =~ s/\t/\t/g;
$frominput =~ s/\n/\n/g;
Demaskierung
$fromdata =~ s/\t/\t/g;
$fromdata =~ s/\n/\n/g;
Diese Maskierung hat immer noch eine gewisse Chance, mit userinput zu kollidiern.
Wenn auch Browser in Formulaen kein \t als zeichen erlauben, so erlauben sie doch die Zeichenfolge "" "t", wodurch dann beim Demaskieren ein \t hergestellt würde.
Datenbanken haben ihre eigene Mechanismen und vorgefertigten Behandlungsmethoden.
mfg Beat