in reply to logic behind the print function

One thing that may be germane depending on what other language(s) you're familiar with: print, like most (all? trying to think of an exception because I'm sure if I say all someone will follow up with the one I miss :) builtins in perl, is a function and has a return value. If you're used to (the only immediate examples coming to mind would be Ada or Pascal) some other language that makes a distinction between functions which have return values and procedures which do not this might seem strange.

The cake is a lie.
The cake is a lie.
The cake is a lie.