从模块调用子例程时,我一直感到::
困惑。->
我知道这::
与路径以及模块/子例程在哪里以及->
用于对象的位置更相关,但我真的不明白为什么我似乎可以互换两者并且不会立即出现错误。我有 perl 模块,它们是更大包的一部分,例如FullProgram::Part1
我只是要掌握模块,但在涉及 Perl 对象时仍然处于不稳定的状态,但我一直不小心这样做:
FullProgram::Part1::subroutine1();
代替
FullProgram::Part1->subroutine1();
因此,当我一直将哈希引用传递给 subroutine1 并小心使用$class/$self
来处理对象引用并意外使用::
时,我最终拉出我的头发,想知道为什么我的哈希引用似乎消失了。我已经吸取了教训,但真的很想解释一下差异。我已经阅读了关于这些的 perldocs 和各种网站,但我没有看到两者之间的任何比较(谷歌很难......)所有帮助表示赞赏 - 总是很高兴了解我在做什么!