That was not accurate. The functions return string values. He forgot that perl statements are terminated by semicolons.
print 1, 2;
Not only writes output but it also is successful and returns the value 1.
So if we pass a call to print as an argument to print...
print 'a', 'b', print 'c';
We end up with "cab1" because the arguments are evaluated then written as output.
Worse yet he had:
print 'a', 'b', print 'c'; 'd';
And of course since 'd' wasn't being passed in a call to print it did not get written as output.
Customer since 2000 openvein.org | Please don't feed the trolls. :@