this post was submitted on 04 Sep 2025
284 points (97.0% liked)
Programmer Humor
26123 readers
757 users here now
Welcome to Programmer Humor!
This is a place where you can post jokes, memes, humor, etc. related to programming!
For sharing awful code theres also Programming Horror.
Rules
- Keep content in english
- No advertisements
- Posts must be related to programming or programmer topics
founded 2 years ago
MODERATORS
you are viewing a single comment's thread
view the rest of the comments
view the rest of the comments
That's not python
It's valid Python code though, the semicolons will run but are unnecessary
I am so perplexed and horrified. I'm going to need several weeks to get over this. What is this?!
A way to have several statements on the same line?
It seems I had semicolons confused with braces:
if picture is broken, it's this:
Guido undoubtedly had a strong, strong hatred of the number of ways braces are overloaded in Perl.
Do you really want an example?
sub doHref { { do { ${someglobal{Href}} = {} }; last }; }
Every single pairing there serves a different syntactic purpose. Some are related purposes, and I've crowbarred a few in unnecessarily for the sake of an example, but different nonetheless.
The outer pair declares the
sub
, and the next pair is a free block that works as a once-through unlabelled loop, which is exited with thelast
. (Most other languages usebreak
for this purpose.)The next pair are for the
do
which doesn't act as a loop like the free block does. The next innermost pairing wrap a variable and the inner, innermost pairing indicate that the variable is a member of a hash (associative array) and we're accessing the record namedHref
.The lone
{}
indicates a hash reference, so we're assigning a reference to an empty, anonymous hash to that hash record.This example is ridiculous of course. There's no need for most of those braces and syntax to do what it actually does. Also assigning to global variables is generally frowned upon.
sub doHref { $someglobal{Href} = {} }
... is equivalent and cuts out most of the guff. Still three different uses though.