Perl 变量
Perl有三种变量:
纯变量(Scalar Varible)
一、纯量变量
使用纯量变量时要在前面加上$符号, 注意:指定的纯量变量是一个字符的话,就要加上""双引号;如果是数值的话,就不用加上""这个符号。
示例
| $url1="http://jz-dev.hb.cninfo.net"; | #将http://jz-dev.hb.cninfo.net这串字符赋给$url变量; |
| $url2="/~rabbits/cgi-guide/"; | #将/~rabbits/cgi-guide/这个字符赋给$url2变量; |
| $url3=$url1.$url2; | #将两个变量的字符串连起, $url3="http://chu-source.yeah.net/"; |
| $int=10; | #将10赋给$int变量; |
| $int=5+6; | #$int=11; |
| $int=5*6; | #$int=30; |
| $int=10;$int++; | #$int=11; |
| $int=10;$int+=8; | #$int=18; |
二、数组
使用数组时要在前而@符号,下面是一些例子:
| @username1=("mike","fly"); | #将mike和fly两个字符串赋给@username1 |
| @username2=@username1; | #这时@username2=("mike","fly") |
| @username3=("duan",@username); | #这时@username3=("duan","mike","fly") |
| ($one,@username4)=@username3; | #这时$one="duan" |
| @username=(); | #把@username1清空 |
| @int=(1,3,5,7,9); $x=@int; | #将一个数组赋给$x纯变量,且返回数组个数,这个$x=5 |
| $x=$#int; | #$#这个变量返回数组最后个数的值(index)$x=4 |
| ($x)=@int; | #$x等于数组的第一个个数值$x=1 |
| $b=$int[0]; | #$b等于数组的第一个无素值$b=1 |
| $c=@int[0]; | #$c同上$c=1,因些呼叫数组中值有两种方法 |
| $int[0]=2; | #将2这个数值赋给数组@int的第一个元素@int=(2,3,5,7,9) |
| $int[0,1]=[1,3]; | #将1赋给数组的第一个元素将3赋给数组第二个元素@int=(1,3,5,7,9) |
| @int[0,1]=@int[1,0]; | #将数组前两个元素交换@int(3,1,5,7,9) |
| ($int[0],$int[1])=($int[1],$int[0]); | #同上@int=(1,3,5,7,9) |
| @data=@int[0,1]; | #date=(1,3) |
| $int[5]=11; | #将11赋给数组中第六个元素@int=(1,3,5,7,9,11) |
三、关联数组
关联数组是由不同的纯变量组成。跟数组不同之处是在关联数中的单元是由成对的key-value组成,每一对 key都有相对应的值(value),这是Perl语言中特有的,关联数组是一个功能强大的数组。使用关联数组时要在前面加上%号,关联数组的格式如:
%ARRAY=(key1,value1,key2,value2,key3,value3);
每一个key都有一个相对应的值(value)。
下面是有关于一些关联数组的例子:
| %name=(1,"one",2,"two"); $one=$name{1}; | #$ONE等于"ONE" |
| $two=$name{2}; | #$TWO等于"TWO" |
| $name{3}="third"; | #增加一对KEY-VALUE到关联数组NAME中这时%NAME=(1,"ONE",2,"TWO" #3,"THIRD") |
| $name{3}="three"; | #因为在关联数组中已经有3个KEY了,所以就会把KEY为3所对应的VAL- #UE更改成THREE 这时%NAME=(1,"ONE",2,"TWO"3,"THREE") |
| delete $name{3}; | #将关联数组中key值为3的一对key-value删除,这时%NAME=(1,"ONE" #,2,"TWO") |
| @x=%name; | #将关联数组NAME指定给数组X,这时@x=(1,"ONE",2,"TWO") |
| %y=@x; | #将数组X指定给关联数组Y 这时%Y=(1,"ONE",2,"TWO") |
| %name=(); | #把%name关联数组置空 |