It's not a syntactic limitation, it's one of style and convention. The convention seems to be not putting space around the arrow operator. However, there are times where it's appropriate. Have a look at Test::Mojo for an example of where using a little whitespace with the arrow operator turns out to be quite elegant (for some values of elegant).
Here is a preview...
$t->websocket_ok('/echo')
->send_ok('hello')
->message_ok
->message_is('echo: hello')
->finish_ok;
This works because many object methods in the Mojolicious world return a reference to their object instance, so you can chain calls one after the other in that fashion.
About the only other time that I'll add whitespace around a -> operator is when it makes most sense to break a long line there:
my $value = decode_json($json)
->{'foo'}[0]{'bar'};
That's a contrived example, but occasionally putting a line break at the first arrow improves readability.
|