这些常规的Perl子程序调用了吗?

时间:2009-10-26 21:21:16

标签: perl oop methods

我仍然试图了解Perl的OOP功能。如果我有一个子程序调用,我对某些事情感到困惑:

My::Package::sub_name($param1,$param2)

这会将“My :: Package”作为第一个参数发送吗?我倾向于拒绝,但我不确定。

2 个答案:

答案 0 :(得分:10)

(正如Manni所说)-> operator将调用者移到@_(其中调用者是受祝福的对象,或者是一个裸名字)。函数名中的::仅用于命名空间消歧,不会更改@_

根据Geo的建议发布答案,虽然我不想成为代表妓女:)

文档中有更多内容:perldoc perlbootperldoc perltoot

答案 1 :(得分:8)

你为什么不试试呢?

剧透警报:

不,第一个参数不是包名。

但是,当你这样做时:

My::Package->sub_name( $param1, $param2 )

您将获得包/类名作为第一个参数。