冒号在子程序定义中意味着什么?

nov*_*cik 5 perl

这个源代码中,我找到了这个sub定义.

sub upload_file : Chained( 'base' ) : PathPart( 'upload-file' ) : Args( 0 ){
Run Code Online (Sandbox Code Playgroud)

我不明白那些:冒号和参数是什么意思.有人能指点我一些文件吗?

ike*_*ami 6

:Chained,:PathPArt:Args属性提供催化剂.