Question: what is the difference between dbms_output.put_line and dbms_output.put?
Answer: In previous versions, with PUT, the line is not yet completed. Since it doesn't have end of line marker unlike PUT_LINE which automatically is followed by an end-of-line marker. So, if you add an end-of-line marker, you will get the output. You can have a look at this old question Is dbms_output.