Moin Buggi!
$nachrichtentext =~ s/\n/<br>/g;
Windows- und UNIX-Browser senden als Zeilenumbruch unterschiedliche Zeichen.
Windows: 0Dh 0Ah (\r\n)
UNIX: 0Ah (\n)
Damit nicht ein einsames 0Dh im Text stehen bleibt, sollte so:
$nachrichtentext =~ s/(\r\n)|(\n)/<BR>/g;
ersetzt werden.
Gruß Frank