標量
標量是 Perl 最基本的資料型別。它們用 sigil $
標記並保持三種型別之一的單個值:
- 一個數字 (
3
,42
,3.141
等) - 一串 (
'hi'
,abc
等) - **** 對變數的引用 (參見其他示例)。
my $integer = 3; # number
my $string = "Hello World"; # string
my $reference = \$string; # reference to $string
Perl 根據特定運算子的期望,在數字和字串之間進行轉換。
my $number = '41'; # string '41'
my $meaning = $number + 1; # number 42
my $sadness = '20 apples'; # string '20 apples'
my $danger = $sadness * 2; # number '40', raises warning
將字串轉換為數字時,Perl 會從字串前面獲取儘可能多的數字 - 因此 20 apples
會在最後一行轉換為 20
。
根據你是要將標量的內容視為字串還是數字,你需要使用不同的運算子。不要混合它們。
# String comparison # Number comparison
'Potato' eq 'Potato'; 42 == 42;
'Potato' ne 'Pomato'; 42 != 24;
'Camel' lt 'Potato'; 41 < 42;
'Zombie' gt 'Potato'; 43 > 42;
# String concatenation # Number summation
'Banana' . 'phone'; 23 + 19;
# String repetition # Number multiplication
'nan' x 3; 6 * 7;
試圖對數字使用字串操作不會引發警告; 嘗試對非數字字串使用數字操作。請注意,一些非數字字串,如'inf'
,'nan'
,'0 but true'
計為數字。