Including the OOPier and LISPier parts. And I don't think like that.
Perl programmers should know
$x = my_subroutine(). We see where the return value goes here, it goes to
$x. Now, consider
my_subroutine(). You know there's a return value. Now, where does it go? It goes into
$_. Which means you can follow
print ;with no problem, because the first line drops it into $_ and the second line picks it up. New Perl programmers get infuriated by that magic until they understand it.
Ruby has a lot of magic. I understand very little of it.
This is making me cross. And it will make me cross until I start to understand the wizardry of it.