| ▲ | atherton94027 3 hours ago | |||||||||||||||||||||||||||||||||||||||||||
There was so much complexity hidden behind "do what I mean". For example, scalar vs array context which was super subtle: | ||||||||||||||||||||||||||||||||||||||||||||
| ▲ | js2 3 hours ago | parent | next [-] | |||||||||||||||||||||||||||||||||||||||||||
Or even worse:
Which allegedly got a HS kid in hot water[^1].[^1]: "It's all about context" (2001): https://archive.ph/IB2kR (http://www.stonehenge.com/merlyn/UnixReview/col38.html) | ||||||||||||||||||||||||||||||||||||||||||||
| ||||||||||||||||||||||||||||||||||||||||||||
| ▲ | totallykvothe 2 hours ago | parent | prev | next [-] | |||||||||||||||||||||||||||||||||||||||||||
That's not super subtle any more than it's super subtle that "*" performs multiplication and "+" performs addition. Sometimes you just need to learn the language. This is not a general defense of Perl, which is many times absolutely unreadable, but this example is perfectly comprehensible if you actually are trying to write Perl and not superimpose some other language on it.* | ||||||||||||||||||||||||||||||||||||||||||||
| ▲ | creer 2 hours ago | parent | prev | next [-] | |||||||||||||||||||||||||||||||||||||||||||
What exactly is complex or "super subtle" about this? It's the textbook example from the 1st chapter in the tutorial or something? | ||||||||||||||||||||||||||||||||||||||||||||
| ||||||||||||||||||||||||||||||||||||||||||||
| ▲ | agumonkey 2 hours ago | parent | prev | next [-] | |||||||||||||||||||||||||||||||||||||||||||
I always found contextual eval interesting. It's a generalized version of toString in a way | ||||||||||||||||||||||||||||||||||||||||||||
| ▲ | petre an hour ago | parent | prev [-] | |||||||||||||||||||||||||||||||||||||||||||
It's not complexity, it's magic. Useful when one cannot be bothered to write array.length. So is if (@a) when the array is empty. | ||||||||||||||||||||||||||||||||||||||||||||