在perl中使用子函数警告

时间:2018-01-03 06:53:43

标签: perl

sub SampleFunc() { ... }sub SampleFunc { ... }

之间有何区别?

因为如果我使用()括号,我会在汇编perl -wc Testing时收到警告。如果我在()中没有使用sub SampleFunc括号,请确保我没有收到警告信息。

例如:

 $sampleout = cleartex($sampleinput);

错误讯息:

 main::cleartex() called too early to check prototype at Sample.pl line xxx.
你可以请某人解释一下。如果我删除了(),那么输出可能会收到任何重大差异吗?

1 个答案:

答案 0 :(得分:6)

如果使用括号声明子例程,则定义perl原型。这通常是 ,而不是你想要做的事情,因为perl原型不是你从其他语言中识别的那种。

perldoc prototype

大多数情况下,你不应该在正常的练习中使用它们 - 它们的用途/原因非常小,而且主要是当你试图以不同的方式重新实现某些内置函数时。

失去原型,继续你的一天,你会没事的。