当先锋百科网

首页 1 2 3 4 5 6 7

22fc542e4df549cfbdbca0353190055b.jpg

变量是保存数据的内存空间,使用等号“=”给变量赋值。

#!/user/bin/perl -w use strict
$value = "Hello World" ;

等号“=”左边$value是变量,等号右边“Hello World”是变量存储的数据,理解为把右边的数据赋值给左边的变量。

Perl有三种基本变量类型,标量(scalars),数组(arrays)和哈希(hashes)。

一、标量

标量是只能存储一个数据的变量类型, 数据可以是整数、浮点数、字符,字符串等,标量使用特殊符号“$”和标识符组合。

#!/user/bin/perl -w use strict
$number = 1 ; #整数
$floating = 1.1 ; #浮点数
$string = one ;#字符串

标量运算相比其他脚本语言更直观更方便书写。

#!/user/bin/perl -w use strict
$count = 1 + 1 ; #标量运算
$string = '1+1' ;#字符串
print "$string = $count"; 

运行结果为

./script.pl
-> 1+1 = 2

使用单引号‘ ’可以输出多行字符串,同样的使用“here” document 的语法可以输出多行字符串。

#!/user/bin/perl -w use strict
$count = 1 + 1 ; #标量运算
$string = '1+1' ;#字符串
print <<EOF
For example 
"$string = $count"
EOF

运行结果为

./script.pl
-> For example
   1+1 = 2

二、数组

数组是存储多个数据的变量类型,使用特殊符号“@”和标识符组合,常用的赋值方式是赋值时数据定义在括号“( )”里并用逗号“,”分隔开,获取数组中一个数据使用标量$+变量名称+索引值,获取多个数据使用数组@+变量名称+多个索引值,索引值为正数即为正向读取(从0开始为第一个值),负值为反向读取(从-1开始为第一个值),[0,1]的意思是正向第1和第2个值,[0..2]的意思是 正向第1到第3个值,这是数组序列号的用法

#!/user/bin/perl -w use strict
@arrays = (1,2,3) ;
print "$arrays[0]\n" ; 
print "$arrays[-1]\n" ;
print "@arrays[0,1]\n" ;
print "@arrays[0..2]\n" ;

上述程序执行结果为:

./script.pl
-> 1
   3
   1 2
   1 2 3

除了用括号的方式以外,perl还支持用“qw//”的方式,这种方法可以把数据分多行书写。

#!/user/bin/perl -w use strict
@arrays = qw/
1
2
3
/;
print "$arrays[0]\n" ; 
print "$arrays[-1]\n" ;
print "@arrays[0,1]\n" ;

输出结果同样是:

./script.pl
-> 1
   3
   1 2

perl支持通过索引创建数组的方式。

#!/user/bin/perl -w use strict
$arrays[0] = 0 ; 
$arrays[1] = 1 ;
$arrays[2] = 2 ;
print @array

输出结果为:

./script.pl
-> 012

三、哈希

哈希是表示key/value对的集合,变量由百分号%和标识符组合,使用$+{key}的形式获取哈希变量中的数据,同样把数据定义在括号里,用逗号分隔。

#!/user/bin/perl -w use strict
%hasehs = (key1,1,key2,2,key3,3);
print “$hasehs{key1}\n”;

上述程序执行结果为:

./script.pl
-> 1