1、标量$
(1)数字:
整型:十进制:$x = 1;八进制:$x=01;十六进制:$x=0x1;
浮点数:$x=0.1;$x=2e+21;
(2)字符串:
两种类型的字符串:单引号字符串和双引号字符串。
双引号内的字符串中支持简单变量替换,双引号内的字符串中支持转义字符
单引号字符串一是没有变量替换功能,二是反斜线不支持转义字符,可以跨多行
(3)变量:
标量变量的名字由$后接Perl标识符,由字母,数字和下划线组成,但不能由数字开头。
2、数组@
(1)数组变量以字符"@"打头,索引从0开始,如:@arr=(1,2,3)
(2)数组变量可以与标量变量使用相同的名字,例如,$names与@names可以指不同的东西,$names指一个标量 变量,而@names则指一个数组。这两个变量之间毫无关系。
(3)数组大小:$size=@array;
(4)可以为数组设定负索引,例如,$array[-1 ]是@array的最后一个元素, $array[-2]是倒数第二个元素,依次类 推.
(5)数组遍历:可以使用while,for,foreach。
(6)常见的多数组操作的函数:
sort--按字符顺序排序reverse--反转数组
chop--数组去尾
join/split--连接/拆分
chomp--负责删除标量型变量中的最后一个字符
3、哈希%
(1)hash是一种数据结构,以数字、字符串等为索引将值存放到其中,或者从中取回值。哈希把任意长度的输入 (键),通过散列算法,变换成固定长度的散列值输出,将输入视为索引,将输出视为给索引分配的唯一内存地 址,地址里存放的是这个索引代表的内容。
(2)初始化:
%h=('a'=>1,'b'=>2);
%h=('a',1,'b',2);
(3)访问:用{}来访问print “$h{a}\n”;
(4)删除key:删除key用delete delete$h{b}; #从$h删除'b'
(5)清空hash:undef %h。
(6)hash长度:$hash_size=keys%h
(7)hash是否包含key: exists($h{$key});
(8)keys和valukeys函数会返回此hash的所有keys,values函数将返回所有的values。如果hash中没有元素,则此 函数将返回空列表。
%hash = ("a"=>1, "b"=>2, "c"=>3);
print @k = keys %hash;
print @v = values %hash;
(9)遍历hash:while(($k,$v)=each%h){print"$k--->$v\n";}
(10)顺序遍历hash:
%hash = ("a"=>1, "b"=>2, "c"=>3, "d"=>4);
foreach $key (sort keys %hash){
$value =$hash{$key};
print "$key => $value\n";
}