perl教学(14)perl5的包和模块之三--

perl教学(14)perl5的包和模块之三--

ID:9688495

大小:51.00 KB

页数:2页

时间:2018-05-05

perl教学(14)perl5的包和模块之三--_第1页
perl教学(14)perl5的包和模块之三--_第2页
资源描述:

《perl教学(14)perl5的包和模块之三--》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库

1、Perl教学(14)Perl5的包和模块之三>>5、指定无当前包在Perl5中,可以用如下语句指定无当前包:package;这时,所有的变量必须明确指出所属包名,否则就无效--错误。$mypack::var=21;#ok$var=21;#error-nocurrentpackage这种情况直到用package语句指定当前包为止。6、包和子程序包的定义影响到程序中的所有语句,包括子程序,如:packagemypack;subroutinemysub{local($myvar);#stuffgoeshere}这里,mysub和myvar都是包my

2、pack的一部分。在包mypack外调用子程序mysub,则要指定包:$mypack'mysub。可以在子程序中切换包:packagepack1;subroutinemysub{$var1=1;packagepack2;$var1=2;}这段代码创建了两个变量$var1,一个在包pack1中,一个在包pack2中,包中的局域变量只能在其定义的子程序等语句块中使用,像普通的局域变量一样。7、用包定义私有数据包最通常的用途是用在含有子程序和子程序所使用的全局变量的文件中,为子程序定义这样的包,可以保证子程序使用的全局变量不可在其它地方使用,这样的

3、数据即为私有数据。更进一步,可以保证包名不可在其它地方使用。私有数据例:1:packageprivpack;2:$valtoprint=46;3:4:packagemain;5:#Thisfunctionisthelinktotheoutsidep;privpack'printval();8:}9:10:packageprivpack;11:subprintval{12:print("$valtoprint");13:}14:15:packagemain;16:1;#returnvalueforrequire此子程序只有在调用printv

4、al后才能产生输出。该文件分为两个部分:与外界联系的部分和私有部分。前者为缺省的main包,后者为包privpack。第6~8行定义的子程序printval可被其它程序或子程序调用。printval输出变量$valtoprint的值,此变量仅在包privpack中定义和使用。第15、16行确保其被其它程序用require语句包含后工作正常,15行将当前包设置回缺省包main,16行返回非零值使require不报错。8、包和系统变量下列变量即使从其它包中调用,也在main包中起作用:·文件变量STDIN,STDOUT,STDERR和ARGV·变

5、量%ENV,%INC,INC,$ARGV和ARGV·其它含有特殊字符的系统变量9、访问符号表在程序中查找符号表可用数组%_package,此处package为想访问的符号表所属的包名。例如%_main含有缺省的符号表。通常不需要亲自查找符号表。>>>>这篇文章来自..,。

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。