我是perl
中的新手,我需要在perl
中定义一个子例程,但我不明白subroutine
和function
之间的区别。
我什么时候应该使用它们?如何发送参数?
答案 0 :(得分:7)
在文档中,"功能"是指列表运算符(例如chr
,print
),命名的一元运算符(例如chdir
)和命名的nullary运算符(例如time
)。这些有时被称为"内置函数"避免歧义(虽然也有内置子程序,例如utf8::upgrade
)。
在实践中,"功能"通常用于指代内置函数和使用sub
声明的任何内容。
参数通常按如下方式传递给子程序:
foo($x, $y)
操作员在技术上不具备参数;他们有操作数。大多数符合函数的运算符类似于子例程。 perlfunc记录了如何使用每一个。
答案 1 :(得分:4)
没有真正的区别。 “子程序”只是您编写的函数的名称,而不是Perl的内置函数之一。也可以称它们为函数。