Function arguments are always passed by reference, so they need to be real. But print's not a function. Keep in mind that the builtin functions are often called "named operators" and that Deparse shows a "print" op, not a "entersub" op. I suspect it's more along the lines of print and other builtins have their arguments built specially.
Just guessing.
By the way, I was getting similar results to print when using assignments.
In reply to Re^3: Keys() required to autovivify?
by ikegami
in thread Keys() required to autovivify?
by jrw
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |