http://www.perlmonks.org?node_id=335383


in reply to Re: Thoughts on some new operators for perl (6 or 7)
in thread Thoughts on some new operators for perl (6 or 7)

I'd guess it's not useful enough for the core language, but I might be guessing wrong. However, should it not be implemented, then with Perl 6 you can still choose to do so yourself:

sub infix:'' ($foo, $bar) { $foo eq '' ? $bar : $foo } sub infix:''= ($foo is rw, $bar) { $foo = $foo '' $bar }
Likewise, the OP can implement their new operators if they really want it.

Juerd # { site => 'juerd.nl', plp_site => 'plp.juerd.nl', do_not_use => 'spamtrap' }

Replies are listed 'Best First'.
Re: Re: Re: Thoughts on some new operators for perl (6 or 7)
by hardburn (Abbot) on Mar 10, 2004 at 14:07 UTC

    The '//' and '//=' (defined or) operators aren't in the core because they tend to be ambigious with an empty regex (like in split //, $str). They should be in 5.10, though.

    ----
    : () { :|:& };:

    Note: All code is untested, unless otherwise stated

      The '//' and '//=' (defined or) operators aren't in the core because they tend to be ambigious with an empty regex (like in split //, $str). They should be in 5.10, though.

      Ehm, I have no idea what you're responding to, but I do think your example isn't a very good one. The comma in split //, $foo would disambiguate. Perl knows when to expect a value and when to expect an operator (I'm sure you've seen those "... found where ... expected" syntax errors).

      Juerd # { site => 'juerd.nl', plp_site => 'plp.juerd.nl', do_not_use => 'spamtrap' }