我正在研究一个 Perl 模块,每当我调用skip()
我以下列方式编写的方法时:
$cursor->skip(4);
我得到:
在 t/tester.pl 第 24 行调用了未定义的子例程 &MyModule::Cursor::skip。 (在清理中)t/tester.pl 第 24 行的无效对象。
当我这样称呼它时:
MyModule::Cursor::skip($cursor, 4);
Perl 找到了!
奇怪的是,如果我将“ ”命名为skip
其他任何名称(“ skipper
”、“ hello
”),则此语法有效:
$cursor->skipper(4);
我想可能skip()
是一个“秘密”的保留关键字或其他东西,但我也有名为sort()
and的方法next()
(我知道它们是保留的),并且这些工作正常。
我真的很想将此方法命名为“ skip
。” 有谁知道为什么 Perl 找不到它?