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.
Posts are HTML formatted. Put <p> </p> tags around your paragraphs. Put <code> </code> tags around your code and data!
Read Where should I post X? if you're not absolutely sure you're posting in the right place.
Please read these before you post! —
Posts may use any of the Perl Monks Approved HTML tags:
- a, abbr, b, big, blockquote, br, caption, center, col, colgroup, dd, del, div, dl, dt, em, font, h1, h2, h3, h4, h5, h6, hr, i, ins, li, ol, p, pre, readmore, small, span, spoiler, strike, strong, sub, sup, table, tbody, td, tfoot, th, thead, tr, tt, u, ul, wbr
Outside of code tags, you may need to use entities for some characters:
| |
For: |
|
Use: |
| & | | & |
| < | | < |
| > | | > |
| [ | | [ |
| ] | | ] |
Link using PerlMonks shortcuts! What shortcuts can I use for linking?
See Writeup Formatting Tips and other pages linked from there for more info.
|
|