Da ich ja auch öfters mal in Basic unterwegs bin, fiel mir heute auf, daß Perl gar keine sgn-Funktion hat. Wieso eigentlich?
Zur Erläuterung für all diejenigen, die sgn nicht kennen:
sgn gibt einen Wert zurück, der anzeigt, ob ein bestimmter Wert größer, kleiner oder gleich 0 ist.
Also
Für $wert > 0 gibt's eine 1
Für $wert = 0 gibt's eine 0
Für $wert < 0 gibt's eine -1
Nun könnte man das ja auch über eine if-Abfrage lösen, "perliger" ist's aber doch wie unten gelöst:
Die Funktion sgn nimmt den zu untersuchenden Wert entgegen und gibt den entsprechenden Rückgabewert zurück.
Kommentare zum Beitrag "SGN-Funktion für Perl"
Kommentar von Uwe Schimon
Und warum nicht gleich
print $a<=>0;
?
Das ist kuerzer, braucht keinen Subroutinaufruf, keine Parameter, keinen Speicher fuer Variablen, weniger ProcLast.
und man hat es genau in einer Zeile.
Ist wie mit ++$c%2, einfach nur Perl.
Servus Uwe