Folgendes möchte ich erreichen:
%Vor% Ich dachte, wenn ich das Symbol für first
speichere, könnte ich später die ursprüngliche Subroutine (unter dem Namen original_first
) aufrufen und auch first
aufrufen und die eine neu definieren lassen . Wenn ich jedoch original_first
aufruft, bekomme ich immer noch das "Dies wird zuerst neu definiert". Was muss ich tun, damit dies funktioniert?
In Ihrem Code interpretiert Perl beide Unterdeklarationen ähnlich wie folgt:
%Vor%, so dass beide Zuweisungen an &first
vor dem Speichern der Kopie und dem Aufruf der Routinen enden. Die Lösung besteht darin, die zweite Deklaration in eine Laufzeitzuweisung umzuwandeln:
Sehen Sie sich das Hook :: LexWrap -Modul an, das all dies für Sie erledigen kann. Wenn Sie das Modul nicht verwenden möchten, sehen Sie sich einfach die Quelle an, die Ihnen genau zeigt, wie es geht.
Tags und Links perl symbol redefinition