Calocybe: Sonderzeichen und Steuerzeichen in Variablen

Beitrag lesen

Hallo!

Folgendes funktioniert aber, es wird jeweils ein (!) Punkt ausgegeben.:
print MAIL "..CF 10\n";
print MAIL "..CF 10\n";

Beim Versenden von Mails ueber SMTP wird das Ende der Mail mit einer Zeile gekennzeichnet, die lediglich aus einem Punkt besteht. Da eine solche Zeile auch ganz normal im Text der Mail vorkommen kann, wird vor der Uebertragung jeder Punkt am Zeilenanfang im normalen Text verdoppelt, und dann auf der anderen Seite wieder zwei Punkte am Zeilenanfang zu einem gemacht. (Siehe RFC 821 section 4.5.2) Offenbar wird von sendmail (?) dasselbe Protokoll verwendet, wenn der Mailtext eingegeben wird. Du wirst also diese Prozedur auf Deine zu versendenden Daten anwenden muessen.

Was die Maskierung angeht, so kannst Du generell jedes nicht-alphanumerische Zeichen (also alles ausser [a-zA-Z0-9]) durch \ maskieren. Die Zeichen, die ohne \ eine Sonderbedeutung haetten, werden dadurch neutralisiert, bei den anderen stoert es nicht. Aber ein \ vor einem alphanumerischen Zeichen wird dessen Sonderbedeutung erst *einschalten*, z.B. steht \t fuer Tabulator (ASCII 9) und \n fuer Linefeed (systemabhaengig; meist ASCII 10).

So long