Chinaunix首页 | 论坛 | 博客
  • 博客访问: 564404
  • 博文数量: 201
  • 博客积分: 7734
  • 博客等级: 少将
  • 技术积分: 1994
  • 用 户 组: 普通用户
  • 注册时间: 2010-04-09 19:18
文章分类

全部博文(201)

文章存档

2011年(28)

2010年(173)

分类:

2010-08-13 14:49:12

Larry 开发了Perl

深入之前:Intermediate Perl

变量(variable)、循环(loop)、子程序(subroutine)、数组(array)

加入邮件列表,索取书籍手册:

技术评论:

网络版:(原版)
 
(中文版)
stonehenge  manager: Tom Phoenix

perl 5.010  新的条件切换语句,given-when


额外练习:Learning Perl Student Workbook

Perl 实用摘录与报表语言 (Practical Extraction and Report Language)

病态折中式垃圾列表器  (Pathologically Eclectic Rubbish Lister)

 

Perl  backronym

Perl这个词本身先被使用,后来才给出展开的词诠释

像shell或awk一样能够快速编程,又具有类似grep、cut、sort和sed的高级功能,而不必回头使用

像C这种类型的语言。

懒惰其实是一种美德,手推车是由懒得扛东西的人发明的;书写是由懒得记忆的人发明的;Perl的

创造者也是懒人,若不能发明一个新语言就懒得做事。

Perl基于低级语言(C、C++或汇编语言)和高级语言(如shell编程)中间的一种语言,它填补了低

级语言与高级语言之间的空隙。

《Perl语言编程》

骆驼长得也有点丑陋,但是它们努力工作,哪怕是在严酷的环境下也一样,骆驼能在种种不利的条

件下帮你把事情搞定,哪怕它们长相丑陋,而且气味更糟,有时候还会对你吐口水,Perl就有一点

像这样。

while (<>) {
 chomp;
 print join("\t", (split /:/)[0, 2, 1, 5]), "\n";
}


程序里bug的数量大致与源代码的长度成正比,而不是与程序的功能成正比。


开发团队邮箱:


90%用来处理文字,10用来处理其它事务。
Perl > CGI ; Perl > PHP

 

CPAN  (Comprehensive Perl Archive Network) 综合典藏网

EDIT:

Unix: vim
Windows: UltraEdit;PFE
Mac OS X: BBEdit;TextMate

Perl程序最好不要用后缀后,某些Unix以外的系统上也用必须使用.plx的后缀名。

#!/usr/bin/perl -w

print "Hello, world!\n";
\n换行符(newline character)

chmod a+x my_program

#!/usr/bin/perl -w

use 5.010;
say "Hello World!";

Perl最缺乏可移性的就是#!那行了,因为你必须确定在第台机器上perl是放在什么路径下的。不过

可以用env 命令自动定位perl的路径。
#!/usr/bin/env perl
#!/bin/env perl
不过用了env的参数,就不能用-w参数了。

Perl程序并不需要变量声明的部分。

大部分的perl语句都是表达式后面紧接着一个分号。


如何编译Perl?
运行程序时,Perl内部的编译器会先载入整个源程序,将之转换成内部使用的bytecode,这是一种

Perl在内部用来表示程序语法树的数据结构。然后交给Perl的bytecode引擎执行。


反斜线(backslash escape)转义


mod_perl 或CGI::Fast就是应用将程序代码编译后让它驻留在内存中。好让后续的调用跳过编译。

直接运行。

 

要是把编译后的bytecode存储起来,并没有什么好处,程序不会因此变得更易使用,维护,调试或

安装。


 

 

#!/usr/bin/perl

@lines = `perldoc -u -f atan2`; #把perldoc -u -f atan2输出结果一行行依次存储在@lines这个数组变量里。
foreach (@lines) {
#接下来这行程序会启动一个循环,依次对每行数据进行处理


。循环里的代码是缩排过的。
  s/\w<([^>]+)>/\U$1/g; #对每一个包含一对尖括号(<>)的行,进行相应的数据替换操
作。而在perldoc命令的输出结果里,应该至少有一行符合此操作条件。

  print;
}


*********************************8
=over 8

=item atan2 Y,X
X X X X

Returns the arctangent of Y/X in the range -PI to PI.

For the tangent operation, you may use the C
function, or use the familiar relation:

    sub tan { sin($_[0]) / cos($_[0])  }

Note that atan2(0, 0) is not well-defined.

***********************************8
运行后,把小写的变成大写的了。
***********************************8
=over 8

=item atan2 Y,X
ATAN2 ARCTANGENT TAN TANGENT

Returns the arctangent of Y/X in the range -PI to PI.

For the tangent operation, you may use the MATH::TRIG::TAN
function, or use the familiar relation:

    sub tan { sin($_[0]) / cos($_[0])  }

Note that atan2(0, 0) is not well-defined.

=back
***********************************8

Perl用标量来称呼单件事物。

 

标量可以存储在标量变量里,也可以从文件和设备读取

在Perl里,字符串就是单一的标量值。

Perl中所有数字都是按“双精度浮点数”。

Perl允许你在整数直接量里插入下划线,将若干位数分开,如:61_298_040_283_768

一般来说,你不能计算负数的负数次方。数学怪人们(math geeks)都知道,这样算出来的结果将会

是复数(complex number)。如果要使用复数的话,必须借助Match::Complex模块。

Perl中的字符串可以介于ASCII编码的32到126之间。不过因为字符串能够包含任何字符,所以可用

它来对二进制数据进行创建、扫描与操作。比如说,你可以将一个图形文件或编译过的可执行文件

读进Perl的字符串变量里,改变它的内容后,再写回去。


单引号内的字符串直接量(single-quoted string literal):

前后两个单引号并不属于字符串的一部分,它们只是用来让Perl识别字符串的开头与结尾。除了单

引号和反斜线字符外,单引号内所有字符都代表它们自己(包括换行字符,如果该字符串表示多行

的数据的话)要表示反斜线字符本身,需要在这个反斜线字符前再加一个反斜线字符;要表示单引

号本身时,同样在单引号前加一个反斜线字符。

注:


单引号内的\n并不代表换行字符,而是表示反斜线和n这两个字符。只有在后面是另一个反斜线或

单引号时。前面的反斜线才有特殊的意义。

双引号内的字符串直接量(double-quoted string literal):
在双引号里反斜线拥有更强大、更完整的能力,可用来表示控制字符,或是用八进制或十六进制写

法来表示任何字符。

 

\n 换行符
\r 回车
\t 水平制表符
\b 退格
\a 系统响铃
\007 任何八进制的ASCII(此例中007表示系统响铃)
\x7f 任何十六进制的ASCII值(此例中7f表示删除键的控制代码)
\cC 控制符,也就是Control键的代码(些例表示同时按下Ctrl键和C
\\ 反斜线
\

字符串操作符:
字符串可以用.操作符

"hello" . "world"  #等同于"helloworld"


比较特殊的字符串重复(string repetition)操作符。用小写字母x。

数字以字符串之间的自动转换:
通常Perl会根据需要,自动在数字和字符串之间进行类型转换,如果
操作符(像是+)需要的是数字,perl就会将操作视为数字;在操作符(像是.)需要字符串是,

perl便会将操作视为字符串。

对数字进行运算的操作符(比如乘法)如果遇到字符类型的操作数,perl会自动将字符串转换
成等效的十进制浮点数进行运算。因此"12" * "3" 结果会是36。"12fred34" * "3"也会得到36。

Perl内建警告信息:
perl -w my_program

#!/usr/bin/perl -w

到50页。

阅读(1037) | 评论(0) | 转发(0) |
0

上一篇:DRBD

下一篇:Perl语言入门笔记:第二天

给主人留下些什么吧!~~