O'Reilly logo

Programmieren mit Perl by Jon Orwant, Tom Christiansen, Larry Wall

Stay ahead with the world's most comprehensive technology and business learning platform.

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, tutorials, and more.

Start Free Trial

No credit card required

use overload

Im Number-Modul:

package Number;
use overload   "+" => \&myadd,
               "-" => \&mysub,
              "*=" => "multiply_by";

In Ihrem Programm:

use Number;
$a = new Nuiriber 57;
$b=$a+ 5;

Die fest eingebauten Operatoren funktionieren bei Strings und Zahlen ausgezeichnet, ergeben angewandt auf Objektreferenzen aber nur wenig Sinn (weil Perl im Gegensatz zu C und C++ keine Zeigerarithmetik erlaubt). Das overload-Pragma erlaubt Ihnen die Redefinition dieser eingebauten Operationen, wenn sie auf von Ihnen entworfene Objekte angewandt werden. Im vorigen Beispiel definiert der Aufruf des Pragmas drei Operationen für Number-Objekte neu: Die Addition ruft die Funktion Number::myadd auf, die Subtraktion die Funktion Number::mysub, und der multiplikative Zuweisungsoperator ...

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, interactive tutorials, and more.

Start Free Trial

No credit card required