in reply to Re^2: RFC: "assignary" operator ?= :
in thread RFC: "assignary" operator ?= :
yes it's binary.
> $var1 ?= die "ERROR: \$var1 already set." : $var2;
Thanks for demonstrating your use case, it's even stranger than I expected! ;-)
die will not return a value - actually it won't return at all.
> Maybe you'll see more elegant way how to do such thing.
Yes with a properly named custom-function operating on an alias.
something like
sub init { die "ERROR: \$var already set." if defined $_[0]; $_[0] = $_[1]; } init $var1 => 'value1'; # pretty elegant, right? init $var2 => 'value2'; init $var3 => 'value3';
Please note the defined° , cause else wise you'd miss false values like 0 or "". (which renders your requirement for a new operator a bit useless)
Cheers Rolf
(addicted to the Perl Programming Language :)
Wikisyntax for the Monastery
FootballPerl is like chess, only without the dice
°) a shorter way would have been $_[0] // die 'ERROR: ...';
Off by one, it's the inverted case :)
|
|---|
| Replies are listed 'Best First'. | |
|---|---|
|
Re^4: RFC: "assignary" operator ?= :
by shmem (Chancellor) on Dec 07, 2019 at 17:38 UTC | |
by LanX (Saint) on Dec 07, 2019 at 18:01 UTC | |
|
Re^4: RFC: "assignary" operator ?= :
by richard.sharpe (Sexton) on Dec 07, 2019 at 22:13 UTC |