How on earth does that print 5? Because it evaluates as "print the result of 2 + 3, then divide print's return value (which is 1 if print worked) by 5, and then do nothing with the result". This is obvious if you stick another print in there:
And just to close the logic loop (++DrHyde and lidden, btw), this leading plus helps the parser evaluate all those numbers into a single value before printing.
So I assume the author of the code the OP was reading thought there might be some ambiguity and wanted to help the parse out with that return statement.