我仍在尝试掌握 Perl 的 OOP 功能。如果我有一个像这样的子例程调用,我会对某些事情感到困惑:
My::Package::sub_name($param1,$param2)
这会将“My::Package”作为第一个参数发送吗?我倾向于说不,但我不确定。
最佳答案
(正如曼尼所说)这是 ->
operator它将调用者取消转换为 @_
(其中调用者要么是受祝福的对象,要么是裸露的类名)。函数名中的 ::
只是用于命名空间消歧,不会改变 @_
。
按照 Geo 的建议作为答案发布,尽管我不想成为代表妓女:)
文档中有更多描述:perldoc perlboot , perldoc perltoot .
关于perl - 这些是常规的 Perl 子例程调用吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1627408/