in reply to spaces around the Arrow Operator (->)

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.


Dave

Replies are listed 'Best First'.
Re^2: spaces around the Arrow Operator (->)
by jjmoka (Beadle) on Mar 08, 2016 at 11:28 UTC
    Great nice breath at the Monastery. Thank you all.