预览加载中,请您耐心等待几秒...
1/8
2/8
3/8
4/8
5/8
6/8
7/8
8/8

在线预览结束,喜欢就下载吧,查找使用更方便

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

Spring,2009 Perl入门和提高Lesson1 周晓方 courses@xfzhou.homeftp.org 历年课件及参考书这里下载: http://xfzhou.homeftp.org/courses(公网) http://10.133.30.35/(校内,不设密码) Spring,2009 Perl等级 •菜鸟级 –学会RE,Scalar,Array,Hash,内部函数,上半学期 perl变量,子程序,会写完整的Perl程序。 •进阶级 –Perl引用和复杂的数据结构,PerlObj下半学期 –会用各种模块,自己上cpan找模块用 –会用几种方法编写同样功能的程序 高手级 •靠自己操练 –perlXS,把Perl嵌入其他语言中 –编写模块,在CPAN上和大家共享 •骨灰级N? <2> Spring,2009 Perl的特色/参考书 •PerlandLarryWallhttp://www.wall.org/~larry/ •Morepowerfulthan:sed,grep,awk,etc •Easytolearn/tocode,Free,Platformindependent •Manypowerful&readytousemodulesonCPAN •Perl/TK,Perl/Internet,Perl/DB,Perl/Bio-info •Perl/CGI,Perl/XS,Perl/Win32,Perl/OLE…… •DownloadableBooksandreferences: –“LearningPerl”“ProgrammingPerl” –“QuickReferenceToPerl”“Perl5InExamples” –Perl编程24学时教程"PerlCDbookshelfver1/2/3" <3> Spring,2009 Perl安装和版本 •www.perl.com,www.activestate.com安装perl •校外http://xfzhou.homeftp.org/courses/perl09 •校内http://10.133.30.35/perl09 •参看版本信息perl-vperl-V •本课程的实例采用Win-32环境下的Active-Perl •Perl版本和C编译器的关系 –编写或安装新的perl模块时可能用到C编译器 –activeperl5.00503/VC++5 –activeperl5.6.1/VC++6,5.8.6/VC.net,本课程用5.6足已 –activeperl5.10.0,也可以自己下载源代码后用VC++?编译 –安装某些Perl模块时,Perl版本和编译器版本要匹配 –perlonLinux,compiledwithgcc <4> Spring,2009 系统路径,运行脚本 •确认perl在系统路径中(假定安装在c:\perl下) –Win9x:查看c:\autoexec.bat –Win2K:控制面板à系统à高级à环境变量à系 统变量àPath是否包含c:\Perl\bin –WinXP:ControlPanelàSystemàAdvancedà EnvironmentàSystemàPath –Linux:echo$PATH¿whichperl¿ •运行perl脚本 –打开命令窗Consolewindows –perlhello.pl¿ <5> Spring,2009 A1stperlprogram #!/usr/local/bin/perl-w usestrict; print"Helloworld!\n"; 1;#programterminatessuccessfully •Fileextenstion"pl","hello.pl"(also.p.cgi) •#!"she-bang",followedbyapathtoperl •;statementseperator •usestrictand-w •String,""and'',\n,\t,\\,\?\?\033,\x1b •1and0,returnvalueofyourscript <6> Spring,2009 Scalar¾¾$foo •脚本语言,几乎不区分整数、实数、和字符串 •$Variable_Name,nameiscase-sensitive •Valuecanbestring,number,reference(object) •Numbers(Whataboutarbitrarysizenumbers?) –Decimal1234Octal01234 –Hexadecimal0x1234Fraction/float12.34