天天看点

Perl基础知识

   最近刚刚开始接触perl的知识,简单的写点它的基本知识

字符重复操作符 小写字母x

例子

“fred” x 3     //结果是 “fredfredfred”

------------------------------------------------------------

标量的赋值

$fred = 17;         //將$fred的值设为17

$barney = ‘hello’;  //將$barney的值设为5个字符组成的字符串’hello’

$barney = $fred +3; //將$barney设为$fred 当前值加上3后的结果即20

-------------------------------------------------------------

获取用户输入

<STDIN>

  1. $line = <STDIN>; 
  2. if ($line eq "\n") { 
  3.   print "That was just a blank line!\n"; 
  4. } else { 
  5.   print "That line of input was: $line"; 

chomp 操作符 (只能用在一个变量上,而且该变量的内容为字符串)

  1. $text  = "a line of text\n"; 
  2. chomp($text) 

列表直接量

  1. (1,2,3)        //包含1、2、3这三个数字的列表 
  2. ("fred",4.5)   //两个元素,"fred"和 4.5 
  3. (1..100)       //100个整数构成的列表 
  4. (1..5)         //与(1,2,3,4,5)相同  
  5. (1.7..5.7)     //同上 
  6. (5..1)         //空列表 仅向上计数 
  7. (0,2..6,10,12) //与(0,2,3,4,5,6,10,12)相同 
  8. …… 

--------------------------------------------------------------

qw 简写

  1. qw! fred barney betty wilma dino ! 
  2. qw{ fred barney betty wilma dino } 
  3. 这两个例子是以!和{}来做为定界符 
  4. perl还允许你用其他任何标点符号作为定界符 

列表的赋值

  1. ($fred,$barney,$dino) = (“flintstone”,”rubble”,undef); 
  2. ($fred,$barney) = qw< flintstone rubble slate granite>; 

pop和push操作符

pop 用来取出数组中最后一个元素,同时返回该元素值

  1. push  
  2. @array = 5..9; 
  3. $fred = pop(@array);    # $fred 变成9 @array现在是(5,6,7,8) 
  4. $barney = pop @array;    # $barney 变成8 @array现在是(5,6,7)  
  5. pop @array;           # @array现在是(5,6) 
  6. push(@array,0);        # @array现在是(5,6,0) 
  7. push @array,8;       # @array现在是(5,6,0,8) 
  8. push @array,1..10;       # @array 得到了10个新元素 
  9. @others = qw/ 9 0 2 1 0/;  
  10. push @array, @others;   # @array 又得到了5个新元素 

shift 和unshift 操作符

pop和push操作符是处理数组的尾端

unshift和shift 操作符是处理数组的开头

  1. @array = qw# dino fred barney #; 
  2. $m = shift(@array);            //$m 变成 “dino”, @array 现在是 (“fred”,”barney”) 
  3. $n = shift @array;              //$n 变成 “fred”, @ array 现在是 (”barney”) 
  4. shift @array;                   //@ array 现在变空了 
  5. $o = shift @array;              //$o 变成undef,@array还是空的 
  6. unshift (@array, 5);                //@array 现在仅包含一个元素的列表(5) 
  7. unshift @array, 4;             //@array 现在是(4,5) 
  8. @others = 1..3;                
  9. unshift @array, @others;        //@array 变成了 (1,2,3,4,5) 

froeach控制结构(能逐项遍历列表中的值,依次迭代)

  1. foreach $rock (qw/ bedrock slate lava /) { 
  2.     print “one rock is $rock.\n”;           //依次打印三种石头的名字 

----------------------------------------------------------------

Perl 的“老地方”:$_

假如你在forecah循环的开头省略了控制变量,perl就会使用它的“老地方”变量$_

  1. foreach (1..10) { #默认会用 $_ 迭代 
  2.     pirnt “I can count to $_!\n”; 
  3. $_ = “Yabba dabba doo\n”; 
  4. print; # 默认打印 $_ 

后面会继续写一些关于perl的知识,请感兴趣者继续关注,互相交流谢谢。

继续阅读