[Dresden-pm] Standardwerte

Soeren M. Laird Soerries info at perlmongers.de
Fre Jun 6 05:27:26 CDT 2003


Hihih,

hier meldet sich ein Hinterbänkler...

Steffen Schwigon <schwigon at webit.de> schreibt:
> Torsten Werner <twerner-perl at vwisb7.vkw.tu-dresden.de> writes:
> Mit Deinem "||" geht es auch ohne.
> 
> Aber viel schlimmer ist, es funktioniert generell nicht, wenn Werte,
> die FALSCH repräsentieren (also z.B. 0), gültige Werte für $x (oder
> $a) sein sollen. Dann brauche ich trotzdem ein mühevolleres Konstrukt,
> was z.B. explizit nur auf "defined $a" testet:
> 
>   $x = defined $a ? $a : $b;

Manchmal ist genau das Verhalten 0 oder 1 gewünscht... meistens jedoch
nicht, und darum bringt Perl 6 (so es denn mal erscheine) einen neuen
Operator // mit. Dann ist obige Codezeile auch so zu schreiben:

  my $x = $a // $b;

oder wenn $x bereits definiert sein könnte und andernfalls $b ist

  $x //= $b;

Vielleicht kommt es ja auch schon in Perl 5.12.0 =)

Grüße vom Main, Sören
-- 
Sören M. Laird Sörries http://Spuk.de/s/