1100
Solutions? Where we're going, we don't need solutions.
(lemmy.world)
Post funny things about programming here! (Or just rant about your favourite programming language.)
Over the top tone: "Pretty sure that won't compile.
$EVAL_ERROR
modulo what you get from the filehandle called=
isn't an lvalue that can be put through the Goatse operator that I'm aware of."But seriously(?), I'm almost certain that's not how that would be parsed.
=
isn't a valid bareword, so Perl would choke on the spaceship operator not being a term... I think.After testing... It's worse. I think it's parsing
<>
as theglob
operator and=
as a filespec.For those who don't know Perl:
Because of its appearance,
<=>
really is called the spaceship operator (at least, when it can be parsed as an operator and not whatever happened above).=()=
by comparison has unofficially been called Goatse. If you don't know what Goatse is, find out at your own risk. If you do know, you can see why this particular pseudo-operator was given that name.And if you're still reading,
=()=
is a pseudo-operator because it's not actually parsed as part of the syntax. It's literally an assignment operator=
followed by an empty list()
followed by another assignment operator=
, providing list context to the outside of the equals signs that wouldn't otherwise be there.[Why are you still still reading?] Context is important in Perl. If a function returns a list of values (which is something Perl functions can do) and you try to store the result in a scalar variable, replacing the usual
=
with=()=
will store the number of elements returned rather than the last element of the list.It's not supposed to be compilable. It's more intended as a list of weird looking (but valid and useful) perl stuff.
As for the goatse operator, I've mostly used it for counting amount of regex matches.
Oh, and I forgot the diamond operator. Added.