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);