Why does dbms_output.put cut the lines in this example
<p>I'm trying to put multiple lines at once:</p>

<pre><code>dbms_output.put('1   2   3   4   5   6   7   8   9 '
                 || chr(10) || 
                '1   2   3   4   5   6   7   8   9 '
                 || chr(10) || 
                '1   2   3   4   5   6 ');
dbms_output.new_line;
</code></pre>

<p>This is the result I expected:</p>

<pre><code>1   2   3   4   5   6   7   8   9 
1   2   3   4   5   6   7   8   9 
1   2   3   4   5   6
</code></pre>

<p>And this is what I got:</p>

<pre><code>1   2   3   4   5   6   7   8   9 
1   2   3   4   5   6   7   8   9 
1   2   3
4   5   6
</code></pre>

<p>What is happening here?<br>
Why is there a newline character before the end of the last line?<br>
Is there a way to get the result I'm looking for?</p>

<p>And just to make things even more obscures:</p>

<pre><code>dbms_output.put('1   2   3   4   5   6   7   8   9 '
                || chr (13) || chr(10) ||
                '1   2   3   4   5   6   7   8   9 '
                || chr (13) || chr(10) ||
                '1   2   3   4   5   6 ');
dbms_output.new_line;
</code></pre>

<p>Gives this output:</p>

<pre><code>1   2   3   4   5   6   7   8   9 
1   2   3   4   5   6   7   8   9 
1   2
3   4   5   6
</code></pre>

<p>Oracle version:</p>

<pre><code>--------------------------------------------------------------------------------
Oracle Database 11g Enterprise Edition Release 11.2.0.4.0 - 64bit Production
PL/SQL Release 11.2.0.4.0 - Production
CORE    11.2.0.4.0  Production
TNS for Linux: Version 11.2.0.4.0 - Production
NLSRTL Version 11.2.0.4.0 - Production
</code></pre>