下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
Vine’sPerl
our$x=7;our$y=17;suba
Vine’sPerl Lesson
my$x=10;local$y=5;print"ax$x,ay$y\n";}subbprint"bx$x,
ax10,ay5有字典变量x,有动态变量y,都是在a中定义bx, ax10,ay5有字典变量x,有动态变量y,都是在abx7by5有全局变量x(用our定义的),有动态变量y(在a中定义的1Vine’sPerl"my","local",andVine’sPerl
Vine’sPerl字典作用mydeclaresalexicalvariabletotally
•Perl程序的一般结构(务必用my定义变量 fromtheoutside可以模仿C语言的auto要模仿C语言的static变量,可以这样{my($s)= #单独用对{},在里面定义mysubgetnext{$s++;}#$s对外不可见,但每次调用getnext之间都保留$s的printgetnext;printgetnext;print全局作ourusevarsqw(变量列表),例usevarsqw($frob@mung
#!/usr/local/bin/perl-wusestrict;uselib"path";usemodule_names;require…maincodesubroutine1{…}subroutine2{…}subroutine3{…}…
回家作业(学号-用级数展开sin(x)编写子程序submysin,第个参数是x,第个参数是n,返 –缺省情况下都是全局变量,可以用$v,$::v,或
…podusuallystartshere
10 0.841470984807897 Vine’sPerlFileHandling---StandardStandardfilehandles(Already
Findout linkinhtml
Vine’sPerl datafollowing STDINinput,canbeSTDOUToutput,canbeSTDERRoutput,can’tberedirected,forerrorWritetofile,printSTDERRprint@lines; #defaultisSTDOUTprintFD$a, #notprintFD,Readfile,the<FILEHANDLE>,diamondoperator“<>”while($line=<STDIN>){};#readoneline@lines=<>;#readfilelistedin@ARGV#onebyone.When@ARGVis#empty,readfromSTDIN5
特 httpgethtt |perlx usemy@lines=grep chomp@lines;foreach(@lines){$_=~ $_=~}print"$_\n"foreach@lines;想想如何将这 工具互动起来7Vine’sPerlFileHandling---Vine’sPerlOpenauser
Vine’sPerlsubnameVine’sPerlsubfunc1($){…}#不带\的@和%不带\的@和%必须放在最后,ForForFor
open(FD,open(FD,open(FD,
submygrep(&@)sub
#&代码mygrep{/1+/}$a,$b#*句柄myopenHANDLE,ForpipeForpipe
open(FD,"可执行文件名open(FD,"|可执行文件名
submypush(\@@){my$list=shift;push@$list,@_;
#\@isarray-#\%ishash–ref,etc#@isarray,lastone–+>截断文件并打开读写 +<不截断文件并打开读写Close open(FD,"ls-la|");print #DOS$oldFD=select(FD);#chooseadefault6
subpi(){3.1416}#constanctfunctionprintpi+2;#print5.1416,not3.1416#takeitasprint(pi(+2))ifnot若用了函 常数可以用use pi=>3.1415更方这样定义的常数不用带前缀$,直接用8Vine’sPerl
Kindly
Vine’sPerl#!/usr/bin/perl-wusestrict;subpi_proto(){3.1416}subpi_normal{3.1416}submypush(\@@){my$list=shift;push@$list,@_;
pi_proto+2ispi_normal+2islistis(1,2,3,
循环的continuelocal和our变}print"pi_proto+2is",pi_proto+2,"\n";print"pi_normal+2is",pi_normal+2,"\n";mypush@list,1,2,3,4;printprint"listis(",(join",",@list),9
–函数原型 函数,左值函SubroutineVine’sPerlSubroutineDefineandcallananonymousmy$subref=sub{$_[0]+my$add=$subref;#makeacopyofsubroutine-print&{$add}(1,2),"\t",&$add(1,2),"\t",$add-Lvaluesubroutine
Vine’sPerlFileHanle---Binarymode Offsetin$var,nottotheread(FD,$var,$len,#read20bytesfromfileopen(FILE,subLsub:lvalue{$_[$index];#don'tsayreturn$_[$index]}my@a=qw(Imyteaching$"="
read(FILE,$buffer,20);seek(FD,$pos,
0:Beginof1:Currentposition2:EndoffileprintLsub(2,@a)='learning';#函数返回作值,修改为print@a\n";#@a
l(FD)#positionofsysopen(),sysread(),$integer=fileno(FD); FileHandle---FileTests,isPerlCheckifafile/dir/symbolic_linkdie"Filemissing!"ifnot-eCheckifnameisa -dCheckifnameisaregularfile:-fLotsmore-xoperationsinGlob,returnalistofmatchedfile/dir@txt_files=@root_files=<c:/*.*>;#PC/MS-OS@gif_files=这里的*?是文件名通配符,不能按照perlRE规则来理解
FileSystemPipelinesinVine’sPerlpipe()thenfork(),closeonesideuseVine’sPerlpipeREADHANDLE,WRITEHANDLEordie"Can'topenmymy$child_pid=die"Failtofork!\n"ifnotdefinedif($child_pid==0){#inchildprint"I'mchild.Mypidisclose$message=" ofather.".intrand100.".";print"Childsend\"$message\"tofather.\n";printWRITEHANDLE$message;close}else#inprint"I'mfather,pidis$$.Childpidisclose$message=join"",<READHANDLE>;print"Fatherreceived:$message\n"; Vine’sPerlTheUNIXfork()andVine’sPerlfork()TheonlywaytostartanewReturnchildpidtoparent,return0toCopyalldatasections.CodeareusuallyFiledescriptorsareexec(str)loadsanewimage(code),neverif(0
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年五金建材加盟协议
- 2025年分期家庭教育合同
- 《小岛失踪之谜》课件
- 2025年度绿色环保木材进口与销售合作合同范本大全4篇
- 二零二五年度冷链物流仓单质押贷款服务协议2篇
- 二零二五年度竞业禁止协议法律风险防控及合规咨询合同
- 二零二五年度商业地产地下车位销售及品牌推广协议
- 二零二五年度股份有限公司私下股份分配与公司战略协议书
- 二零二五版铝单板幕墙材料采购专项合同4篇
- 二零二五年度离婚协议中两个子女教育支持合同
- 2025届安徽省皖南八校高三上学期8月摸底考试英语试题+
- 工会资金采购管理办法
- 玩具活动方案设计
- Q∕GDW 516-2010 500kV~1000kV 输电线路劣化悬式绝缘子检测规程
- 2024年湖南汽车工程职业学院单招职业技能测试题库及答案解析
- 家长心理健康教育知识讲座
- GB/T 292-2023滚动轴承角接触球轴承外形尺寸
- 2024年九省联考高考数学卷试题真题答案详解(精校打印)
- 军人结婚函调报告表
- 民用无人驾驶航空器实名制登记管理规定
- 北京地铁6号线
评论
0/150
提交评论