Beefy Boxes and Bandwidth Generously Provided by pair Networks
Come for the quick hacks, stay for the epiphanies.
 
PerlMonks  

Re: spaces around the Arrow Operator (->)

by davido (Cardinal)
on Mar 08, 2016 at 04:02 UTC ( [id://1157053]=note: print w/replies, xml ) Need Help??


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.

Log In?
Username:
Password:

What's my password?
Create A New User
Domain Nodelet?
Node Status?
node history
Node Type: note [id://1157053]
help
Chatterbox?
and the web crawler heard nothing...

How do I use this?Last hourOther CB clients
Other Users?
Others chanting in the Monastery: (7)
As of 2024-04-19 08:12 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    No recent polls found