İşte elde etmek istediğim bu:Bir altprogramı nasıl yeniden tanımlayabilirim ve eski olanı nasıl saklayabilirim?
sub first {
print "this is original first";
}
*original_first = \&first;
sub first {
print "this is first redefined";
}
original_first(); # i expect this to print "this is original first"
first() # i expect this to print "this is first redefined"
Ben
first
için sembol kaydederek, daha sonra (isim
original_first
altında) orijinal alt yordamı çağırmak mümkün olurdu ve ayrıca muktedir olduğu düşünülmektedir
first
'u aramak ve yeniden tanımlanmış olanı al. Bununla birlikte, original_first
numaralı telefonu ararsam, "bu ilk olarak yeniden tanımlanır" ı almaya devam ediyorum. Bu işi yapmak için ne yapmam gerekiyor?
'İlk' sembolünü yeniden tanımladığınızda, yalnızca kod bölümünü etkilemek mümkün mü? – Geo
bir kodekin (alt {...} tarafından oluşturulan) bir tipgloba atanması, yalnızca CODE girişini globda değiştirecektir. glob'deki diğer veri türleri –
değiştirmez. Ayrıca, sadece yerel olarak fonksiyonu değiştirmek için 'local * first = sub {...};' işlevini de kullanabilirsiniz. –