# my @split = split /\n|\r/, $message; my @split = split /[\n\r]/, $message; foreach (@split) { $_ =~ s/^[\n\r]//sig; $_ =~ s/[\n\r]$//sig; print "BLA ... \"$_\"
"; } #### BLA ... "== another main header" BLA ... " " BLA ... " " BLA ... " dfgdfg" BLA ... " " BLA ... " === a sub header" BLA ... " dfgdfg" BLA ... " " BLA ... " === another new sub header" BLA ... " " BLA ... " sdfsdf" BLA ... " " BLA ... " ==== a sub-sub header" BLA ... " g" BLA ... " dsfgdsf" BLA ... " The actual code being passed in (via a textarea box), is: == another main header dfgdfg === a sub header dfgdfg === another new sub header sdfsdf ==== a sub-sub header g dsfgdsf