2012-09-15 30 views
3

我是Perl新手,我很想知道::和 - >是什麼意思,如果它們表示相同或不同?我主要在對象上的變量/方法調用中看到它們?感謝您的任何提示!Perl操作符含義::和 - >

+4

*首先*通過閱讀perlop,perldsc,perllol和perltoot開始。我相信在那之後會有*不同的問題。 – 2012-09-15 19:26:11

回答

4

::$main::variable是名稱空間分隔符;這是指包裝main中的$variable。分離器根本不是操作員。

->$variable->{'key'}一樣是一個解引用運算符。這就是你如何引用標量爲$variable的引用(或類似引用數組,用方括號代替curlies)的散列值。

所以不,這兩個結構根本不相關。

+0

謝謝,對我非常有幫助的答案:-) –

+1

' - >'也用於調用對象的方法,有時類似於調用'::'包中的子例程,但是有很大的不同。閱讀[perlootut](http://p3rl.org/perlootut)瞭解Perl OO簡介。 :) – memowe

+1

當然,它也可以是'MyPackage :: method_name',如果它的一個類方法可以被稱爲'MyPackage-> method_name',現在它們開始看起來很相似。這種情況的區別在於,當使用' - >'時,Perl將類名或實例移到'@ _'上。 –