perl语言入门(1)
第一章 perl#!/usr/bin/perl -w
#上述语句声明perl的路径和启用警告。
-----------------------------------------------
第二章 标量数据
1. 数值(整数和浮点数),在perl中统一都是按照双精度浮点数来计算的。
浮点数范围至少是1e-100到1e100.
61_298_040_283_768
# 整数的一个表示方法。
八进制octal以0 开头,十六进制以0x 开头,二进制(binary) 0b 开头.
十进制decimal
数字操作符+-*/ %取模 **指数。
注意对于取模10.2%%3.2,先是把2个操作数变成对应的整数值再计算,
亦10%%3的模。
注意2+3与2 + 3 都是正确的。
2. 字符串
最短的字符串是空字符串""或'',最长没有限制。
单引号内引用单引号和反斜线需要用反斜线\转义。
符号 含义
\n 换行
\r 回车
\t 制表符
\f formfeed
\b 退格
\a 响铃
\e escape(ASCII 中的escape 字符)
\007 任何八进制值(这里是,007=bell(响铃))
\x7f 任何十六进制值(这里是,007=bell)
\cC 一个控制符(这里是,ctrl +c)
\\ 反斜线
\” 双引号
\l 下个字符小写
\L 接着的字符均小写直到\E
\u 下个字符大写
\U 接着的字符均大写直到\E
\Q 在non-word 字符前加上\,直到\E
\E 结束\L,\E 和\Q
字符串操作符
. 字符串连接如 abc . 123
x 字符串重复 "info" x 3 # info重复3次。
当在需要数字的地方使用了字符串(如,乘法),Perl 将自动把字符串转换为其等价的数字,就像输入的是十进制浮点数一样◆。因此“12”* “3”将给出36。后面的非数字部分和前面的空格将被去掉,如“12fred34”* “3”将给出36 而不会用任何提示◆。在极端情形,当一个不含任何数字的字符串将别转换为0。如,将“fred”当作数字来使用时。
不用担心使用的是数字还是字符串(大多数情况下)。Perl 将自动转换它们.
3.变量
$字符或下划线开头,后面可以包含数字。
注意 没有初始化的变量的值为undef,输出时为空。也就是什么都没有,但是用defined测试值返回false。
$fred = 17;
# 对变量赋值。
双目操作符
+= *= .= **=
如果一个变量未被赋值,则将使用空值替换.
$barney = “fred ate a $meat”; #$barney 现在是“fred ate a ”;
允许使用小括号改变运行级别。
数字和字符串的比较运算符,shell比较整型值时用的是字符串这一点跟perl正相反。
比较关系 数字 字符串
相等 = =eq
不等 !=ne
小于 <Lt
大于 >gt
小于或等于 =ge
4. if控制结构
if(){
}else{
}
# ()为真则执行。
布尔值
数字0为假,其余为真。
字符空为假,其余为真。
数字0和'0'都为假。
4. 从键盘输入
$line = ;
# 表示字符串+换行符。
chomp 取消字符串变量后的换行符,仅能去掉一个,返回值1。
如果没有,那什么也不做,返回0。
chomp($text = );
$test = ;
chomp($test); 或者chomp $test, 不加小括号也可以。
5. while控制结构
$count = 0;
while($count < 10){
$count += 2;
print "$count \n";
}
6. undef值
print 一个没有初始化的变量输出空,就是空也不是空格。
变量在第一次被赋值之前有一个特殊值undef,如果是对于数字则表现为0,对于字符串则表现为空串;
但undef不是0也不是空串,而是一种标量类型。
由于undef在需要数字的地方自动转化为0
$n=1
while ($n
页:
[1]