標量

標量是 Perl 最基本的資料型別。它們用 sigil $ 標記並保持三種型別之一的單個值:

  • 一個數字3423.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'計為數字。