You're viewing a comment by Josh ben Jore and its responses.
You're viewing a comment by Josh ben Jore and its responses.
I am being sponsored by Syntress! They bought me an amazing dedicated server to run catonmat on. If you're looking web services, I highly recommend the Syntress guys!
I am being sponsored by A-Writer! If you ever need help with essay writing, look no further than A-Writer! They will help you with your writing in as quickly as 3 hours!
I love to read science books. They make my day and I get ideas for awesome blog posts, such as Busy Beaver, On Functors, Recursive Regular Expressions and many others.
Take a look at my
Amazon wish list, if you're curious about what I have planned reading next, and want to surprise me. :)
If you are interested in advertising on catonmat.net, contact me.
Free tools for coding on Vietstarsoft.com.
Programming homework help.


Hi,
I'm appalled at these "operators." These are not "operators" but rather anti-readable, anti-maintainable bits of syntax.
Your "eskimo" operator is visually syntactically invalid and is better off being forgotten. The readable form of
perl -ne '}{ print $. }'ought to be
perl -ne 'END { print $. }'which still uses a punctuation variable but that can be looked up directly in the perlvar manual page.
Your goatse is disgusting, both for bringing it up in conversation and for removing the appropriate white space. The perlop manual documents:
That is,
is an amalgam of the assignment
which itself is a special case of
and the simpler
. This could plausibly be more readably written with spaces around the embedded empty list. I'm really ambivalent about suggesting even this because it's trading on a presumably less-well-known effect and a special case of syntax.
I would like to be upset with the turtle operator but I'm overwhelmed by the other flagrant violations of good sense nearby.
Inchworm operator
is bankrupt for several reasons and should not appear in any person's code for several reasons. There is a perfectly readable operator
which does the right thing. "Inchworm" is two unary ~ bitwise negation operators. It casts the input first to string or integer (and breaks objects, floats, arrays, hashes, etc). For long strings, ~ asks for a negated copy. Perhaps that's expensive.
Separately, your ~(~(expr)) inchworm only even means what you intended in places where the parser expected an expression. In Perl 5.10 there is a separate smartmatch operator written as ~~ which is parsed in places expecting a binary operator.
"Inchworm on a stick" continues the abuse by invoking details of the representation of integers in memory. Are you for real?! Perhaps a more readable way to get the value of an integer minus one is:
.
"Space station" -+- is the three unary operators -, +, and -. I continue to be incredulous that you even posted this. I'm forced to guess a little at what's going on here. The first, inner - either negates the inner integer or adds a '-' character on the beginning of the string:
.
The middle + is unused except as a fake to the parser to avoid writing the "--" operator:
. The outer '-' re-negates the inner value except that a string already starting with "-" turns into "+".
Reply To This Comment