我正在一個Perl模塊上,每當我打電話skip()
方法我以下列方式中寫道:爲什麼我的Perl對象找不到它的skip()方法,儘管我可以將它稱爲子例程?
$cursor->skip(4);
我得到:
Undefined subroutine &MyModule::Cursor::skip called at t/tester.pl line 24. (in cleanup) invalid object at t/tester.pl line 24.
當我把它想:
MyModule::Cursor::skip($cursor, 4);
Perl發現它!
奇怪的是,如果我的名字 「skip
」 別的( 「skipper
」, 「hello
」),這句法作品:
$cursor->skipper(4);
我想也許skip()
是一個 「祕密」 保留鍵字什麼的,但我也有方法sort()
和next()
(我知道保留),並且這些工作正常。
我真的很想把這個方法命名爲「skip
」。有誰知道爲什麼Perl找不到它?
你能告訴我們一個完整的,但短期,例如,說明了什麼問題? – 2009-08-15 17:45:08