Alexander (HH): Subroutine return true / false?

Beitrag lesen

Moin Moin!

Vielleicht hilft Dir das pragma constant:

use constant TRUE => 1;
use constant FALSE => 0;

Schlechte Idee.

sub oops { return FALSE; }
bzw.
sub oops { return 0; }

liefern im List-Kontext *true* zurück, weil die Liste eben ein Element enthält. Das Element selbst ist zwar false, aber das spielt keine Rolle. D.h. auch

sub oops2 { return undef; }

geht im List-Kontext schief.

Der einzig saubere Weg, false zurückzuliefern, ist ein return ohne Wert:

sub always_false { return; }

Alexander

--
Today I will gladly share my knowledge and experience, for there are no sweeter words than "I told you so".