找回密码
 注册
查看: 2354|回复: 0

perl如何定义一个子程序

[复制链接]
发表于 2011-11-13 21:35:36 | 显示全部楼层 |阅读模式
要定义自己的子程序,使用关键字sub,子程序的名字(无&这个符号),组成子程序的缩进的代码块(花括号中),如:
◆恰当的说,花括号也属于块的一部分。Perl 不需要缩进块中的代码,但维护人员需要。因此请遵守这个规则。
sub marine {
$n + = 1; #全局变量$n
print “Hello, sailor number $n!\n”;
}
子程序(本章中若无特殊说明,子程序均指subroutine,译者注)的定义可以在程序的任意位置,但具有如C 或者Pascal 背景
的程序员通常将它们放在程序的开头。某些其它的程序员可能将它们放在结尾,以使程序的主要部分在开头出现。不需要
在定义之前有任何声明。子程序的定义是全局的;没有某些强大的技巧,Perl 中没有私有子程序(private subroutines)◆。如
果两个子程序有相同的名字,那后一个将覆盖前一个◆。这被看作是一种不好的编成习惯,它将迷惑你的维护人员。
◆如果想使用特殊的技巧,阅读Perl 的关于私有变量(private variables)中的coderefs 文档。
◆将会引起警告
如前面例子那样,可以在子程序中使用全局变量。事实上,到现在为止所出现的所有变量均是全局的;也就是说,它们在
程序的任意部分都可以被访问。这让纯粹的语言学家感到恐慌,但一些Perl 的开发者却大量使用它们。在本章后面的“子
程序的私有变量”一节中将介绍怎样创建私有变量。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

手机版|小黑屋|生物统计家园 网站价格

GMT+8, 2024-11-21 18:35 , Processed in 0.024870 second(s), 16 queries .

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表