1、定义子程序使用关键字sub即可,如下图所示。而调用子程序用&符号即可调用。


4、子程序是可以传入参的。还是那句话,现在没见过哪门语言的函数无法传参的。但是perl的子程序对参数的处理很奇怪。比如C,可能会有void max(int a,int b)类似于这种写法,告诉你我有2个形参这样子,但perl没有。反正我到现在都感觉蛮别扭的。如下图所示,子程序的定义没有任何区别,但是在函数体内,出现了$_[0]这种东西。@_这个东西是数组变量,我们可以用$_[0]来引用第一个参数,以此类推。

6、那么,perl难道就不可以有私有变量么?答案是可以的,perl一样可以创建私有变量,只在子程序内部生效,在子程序外部是没有任何意义的,那就要借助my操作符。如下图所示,在子程序内部创建了2个私有变量$h,$o,在内部访问时OK的,在外部访问并没有任何值。

8、那如果想在执行程序一半的时候想结束执行并返回结果怎么办?perl一样支持return
