sub NAME BLOCK
sub NAME (PROTO) BLOCK
sub NAME : ATTRS BLOCK
sub NAME (PROTO) : ATTRS BLOCK

这是子程序定义,而不是真正的函数本身。如果没有 BLOCK,它只是一个前向声明。如果没有 NAME,它就是一个匿名函数声明,因此会返回一个值:刚刚创建的闭包的 CODE 引用。

有关子程序和引用的详细信息,请参阅 perlsubperlref;有关属性的更多信息,请参阅 attributesAttribute::Handlers