goodmm 发表于 2018-9-1 08:05:12

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 &quot;$count \n&quot;;
  }
  6. undef值
  print 一个没有初始化的变量输出空,就是空也不是空格。
  变量在第一次被赋值之前有一个特殊值undef,如果是对于数字则表现为0,对于字符串则表现为空串;
  但undef不是0也不是空串,而是一种标量类型。
  由于undef在需要数字的地方自动转化为0
  $n=1
  while ($n
页: [1]
查看完整版本: perl语言入门(1)