perl的点点滴滴
?看到某公司笔试题上有个perl的编程的,就索性花两三天时间来学学perl,,知道这两三天不够的,先应付考试吧,呵呵。。。 ?1.Perl一般被称为“实用报表提取语言”(PracticalExtraction and Report Language),虽然有时被称做“病态折中垃圾列表器”(Pathologically Eclectic Rubbish Lister)。它是术语,而不仅仅是简写,Perl的创造者,Larry Wall提出第一个,但很快又扩 Larry为什么发明perl: Larry在80年代中期发明了Perl语言,当时他想从像新闻组邮件那样的文件中产生一些有用的报表给一个bug报告系统, 2.Perl容易使用,但有些难学。3 .perl的功能:Perl被设计为:90%处理文本,10%针对其它情况。 4.第一个例子#! /usr/bin/perl 在Unix系统中,你需要用chmod命令将程序变成可执行的,可能像下面: 现在你可以如下运行它: ? 5.perl中的注释在Perl中,注释由#开始,直到本行结束(Perl中没有“块 ? 6.标量数据在下面几段中,你将看到整数(如255,2001等)和浮点数(有小数点的实数,如3.14159,1.35x10 ? Perl允许用下划线来分隔整数,因此可以像下面这样书写: 八进制以0开头,十六进制以0x开头,二进制0b开头◆。在十 对于Perl来讲,0xFF或255.00是没有区别的, ? 6.1perl数字操作符Perl除了提供通常的操作符加(+),减(-),乘(*),除(/)等等之外: 2+3 #2+3,5 还提供了模数运算符(%)。10%3的值是10除以3的余数。两个操作数首先变成它们对应的整数值。另外,Perl中提供了和FORTRAN类似的指数操作符,C和Pascal很希望有类似的能力。这个操作符由 ? 6.2字符串字符串是一串字符(如hello)。字符串可能是字符的任意组合◆。最短的字符串不含任何字符。最长的字符串,可以填满 有两种类型的字符串:单引号字符串和双引号字符串。 ? 单引号字符串是由单引号括起来的字符序列。单引号不是字符串的一部分,但Perl可以利用它来辨别字符串的开始和结束。 单引号字符串中的n不会被当作换行符来处理,其仅仅是两个字符和n。只有在反斜线()后面接的是或单引号’,其才会被 双引号字符串和在其它语言类似。它也是字符的序列,不同点在于,其由双引号括起来的。现在,反斜线可以用来表示控 6.2.1字符串操作符字符串可由. 操作符连接(是的,只是一个点) 。它不会改变任何字串,就像2+3不会改变2或3一样。串联之后的字符串 ? 一个特殊的操作符是字符串重复操作符(string repetition operator),由小写的字母x表示。这种操作能把操作符左边字符串 值得具体讲解下最后一个例子。字符串重复操作符需要一个字符串作为左操作数,因此数字5被转变为字符串“5”(在一 复制次数(右操作数)在使用之前会把它转换为小于等于它的整数(如,4.8变为4)。重复次数小于1将产生空串(长度 ? 6.2.2数字和字符串之间的自动转换大多数情况下,Perl 将在需要的时候自动在数字和字符串之间转换。它怎样知道什么时候需要字符串,什么时候需要数字 当在需要数字的地方使用了字符串(如,乘法),Perl将自动把字符串转换为其等价的数字,就像输入的是十进制浮点数一 用首字符0表示非十进制值对数字有效,对自动转换没有作用。使用hex()和ort()来转换此类字符串。 ? 6.3Perl内嵌的警告(warnings)当程序中包含可能的错误时,可以要求Perl警告你。运行程序时,可以在命令行中使用–w这个参数把警告打开: 在Perl5.6或之后的版本中,可以使用pragma来打开警告(warning).(注意,它对早期的Perl版本无效)◆。 #! /usr/bin/perl 当然,警告通常只对程序员有意义,对普通用户则没什么用处。如果程序员没有看到警告(没使用警告),这并没什么好处。 #! /usr/bin/perl 当把usediagnostics加入程序后,在每次调入程序时,它好象暂停了一会儿。那是因为Perl做了大量的工作(占去大块内 另一种优化方法是,在命令行中使用–M这个参数,仅当需要diagnostics时才用,而不用每次通过修改源代码来决定是否 ? 6.4标量变量变量是保存一个或多个值的容器◆。变量的名字在整个程序中保持不变,但其包含的值可以变化。 标量变量可以存放一个标量值。标量变量的名字由一个美圆符号($)后接Perl标识符:由字母或下划线开头,后接字母,数字,或者下划线。或者说由字母,数字和下划线组成,但不能由数字开头。大小写是严格区分的:变量$Fred和变量$fred是不同的。 6.5print输出 当一个字符串由双引号括起来时,如果变量前没有反斜线,则变量会被其值内插◆。也就是说字符串中的标量变量◆将被 $mean =“brontosaurus steak”; ? 如果一个变量未被赋值,则将使用空值替换: 在字符串中变量前($符号前)加上反斜线(),变量将不会被内插(替换): 变量名将是字符串中有意义的最长的那一个。这可能在当你需要在某次匹配就替换的情况下出问题。Perl 提供了一种类似 $what =“brontosaurus steak” $n = 3; ? ? 35!=30+5 #false 35==35.0 #true ‘35’eq‘35.0’ #false (按照字符串比较) ‘fred’lt ‘barney’ #false ‘fred’lt ‘free’ #true ‘fred’eq‘fred’ #true ‘fred’eq‘Fred’ #false ‘’gt ‘’ #true (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
- tp5(thinkPHP5)操作mongoDB数据库的方法
- java-com.mysql.jdbc.exceptions.jdbc4.CommunicationsExce
- vb.net – 如何在Visual Basic中实现类构造函数?
- 浮点数字转成二进制
- HDOJ 1002 A + B Problem II(大数)
- 如何从perl socket进行非blockin recv
- 19.2.23 [LeetCode 85] Maximal Rectangle
- 一个简单组件的制作过程——delphi教程
- 使用VB.NET的FileInfo和DirectoryInfo类进行文件操作
- 在Perl中对字母数字哈希键进行排序?