跳转到内容

Perl 编程/变量

来自维基教科书,开放的书籍,开放的世界
上一页:运算符 索引 下一页:数据类型

在 Perl 中,有五种类型的变量:$标量,@数组,%哈希,&子程序和*类型全局。

简单变量

[编辑 | 编辑源代码]

变量,称为标量,用 $ 字符标识,可以包含几乎任何类型的数据。 例如

$my_variable = 3;                              # integers
$my_variable = 3.1415926;                      # floating point
$my_variable = 3.402823669209384634633e+38;    # exponents
$my_variable = $another_variable + 1;          # mathematical operation
$my_variable = 'Can contain text';             # strings
$my_variable = \$another_variable;             # scalar reference
$my_variable = \@array_variable;               # array reference

print $my_variable;

大小写敏感

[编辑 | 编辑源代码]

请注意,perl 解释器是区分大小写的。 这意味着包含小写字母的标识符名称将被视为与包含大写字母的标识符名称不同且独立。

Perl 中的数组使用 @ 字符来标识自身。

@my_array = (1, 2, 3, 4, 5, 6, 7, 8, 9, 10);     # numeric list
@my_array = (1 .. 10);                           # same as above
@my_array = ('John', 'Paul', 'Kanai', 'Mahenge'); # strings
@my_array = qw/John Paul Kanai Mahenge/;          # the same - one-word strings, with less typing
@my_array = qw/red blue 1 green 5/;              # mixed types
@my_array = (\@Array1, \@Array2, \@Array3);      # array of arrays

foreach my $Item (@my_array) {
    print "Next item is $Item \n";
}

但是,当你处理数组中的一个元素(使用方括号,以避免混淆)时,该数组元素被认为是标量,它采用 $ 前缀

$my_array[0] = 1;

与 C 编程语言一样,第一个元素的编号为 0(虽然在 Perl 中,你可以根据自己的需要进行更改)。 数组下标也可以使用变量

$my_array[$MyNumber] = 1;

关联数组

[编辑 | 编辑源代码]

关联数组或“哈希”使用 % 字符来标识自身。

%my_hash = ('key1' => 'value1', 'key2' => 'value2');

当使用=>时,左侧被认为是引用的。 对于较长的列表,对齐键和值可以提高可读性。

%my_hash = (
    key1    => 'value1',
    key2    => 'value2',
    key3    => 'value3',
);

但是,当你处理数组中的一个元素(使用大括号)时,该数组元素被认为是标量,它采用 $ 前缀

$my_hash{'key1'} = 'value1';

关联数组在你想通过名称引用项目时很有用。

子程序

[编辑 | 编辑源代码]

子程序由sub函数定义,过去使用&调用(现在使用 & 已过时)。 以下是一个计算斐波那契数列的示例程序

sub fib {
    my $n = shift;
    return $n if $n < 2;
    return fib( $n - 1 ) + fib( $n - 2 );
}

print fib(14);


上一页:运算符 索引 下一页:数据类型
华夏公益教科书