Perl变量

2018-07-31  本文已影响2人  BlueSkyBlue

变量是存储在内存中的数据,创建一个变量即会在内存上开辟一个空间。解释器会根据变量的类型决定它在内存中的存储空间。
Perl为每个变量类型设置了独立的命令空间,所以不同类型的变量可以使用相同的名称。

创建变量

变量不需要显式的声明类型,在变量赋值后,解释器会自动分配匹配的类型空间。
可以在变量中使用use strict语句让所有变量需要强制声明类型。

标量变量

标量是一个单一的数据单元。数据可以是整数、浮点数、字符、字符串、段落等。

$age = 25;
$name = "runnoab";
$salary = 1445.0;

print "Age = $age\n";
print "Name = $name\n";
print "Salary = $salary\n";

数组变量

数组是用于存储一组有序的标量值的变量。数组以@开始。要访问数组可以使用$加变量名,并指定下标来访问。

@ages = (25, 30, 40);
@names = ("google", "runnob", "taobao");

print"\$ages[0] = $ages[0]\n";
print"\$ages[0] = $ages[2]\n";
print"\$names[0] = $names[1]\n";

哈希变量

哈希是一个key/value对 集合。哈希以%开始。如果要访问哈希值,可以使用$+{key}的格式来访问。

%dictionaries = ('google', 45, 'runnob', 30, 'taobao', 25);
print"\$dictionaries{'google'} = $dictionaries{'google'}\n";
print"\$dictionaries{'runnob'} = $dictionaries{'runnob'}\n";
print"\$dictionaries{'taobao'} = $dictionaries{'taobao'}\n";

变量上下文

上下文指的是表达式所在的位置。上下文是由等号左边的变量类型决定的,等号左边是标量则标量是上下文,等号左边是列表则列表时上下文。Perl解释器会根据上下文来决定变量类型。

@names = ("google", "runnob", "taobao");

@copy = @names; #将names数组全部复制给copy。
$size = @names; #数组赋值给标量,返回数组中的元素个数。
序号 上下文描述
1 标量:赋值给一个标量变量,在标量上下文的右侧计算。
2 列表:赋值给一个数组或哈希,在列表上下文的右侧计算。
3 布尔:布尔上下文是一个简单的表达式计算,查看是否为true或false。
4 Void:这种上下文一般不需要关系返回什么值,一般不需要返回值。
5 插值:这种上下文只发生在引号内。
上一篇 下一篇

猜你喜欢

热点阅读