Beefy Boxes and Bandwidth Generously Provided by pair Networks
Perl Monk, Perl Meditation
 
PerlMonks  

Re: What operator should perl5porters use for safe dereferencing?

by snoopy (Deacon)
on Jun 04, 2012 at 02:35 UTC ( #974209=note: print w/ replies, xml ) Need Help??


in reply to What operator should perl5porters use for safe dereferencing?

I'm also going with ~>. Visually the squiggle (tilde), to me, looks like a "tentative dereference".

Btw, I really can't wait. I'll be able to pull horrible hacky code such as:

package MyApp::Universal; use warnings; use strict; use Try::Tiny; sub deref { # # Weak linear dereferencing. $foo->deref('bar','baz') # is almost like $foo->bar->baz except we'll # return undef rather than barfing if 'foo' # or 'bar' evaulate to undef. # if (@_ >= 2) { my $ref = shift; my $deref = shift; return unless defined $ref && defined $deref && try {$ref->can('isa')}; return deref($ref->$deref => @_); } elsif (@_) { return shift; } else { return; } }
They I can go through my code and refactor....
$obj->deref(qw(foo bar baz));
as....
$obj~>foo~>bar~>baz;
Update Also look forward to be able to do...
$href~>{foo}~>[$bar]~>{baz};
...when I don't want autovivification.


Comment on Re: What operator should perl5porters use for safe dereferencing?
Select or Download Code

Log In?
Username:
Password:

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

How do I use this? | Other CB clients
Other Users?
Others cooling their heels in the Monastery: (11)
As of 2015-07-06 22:28 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    The top three priorities of my open tasks are (in descending order of likelihood to be worked on) ...









    Results (84 votes), past polls