📜  Perl数据类型

📅  最后修改于: 2021-01-07 08:11:35             🧑  作者: Mango

Perl数据类型

Perl语言是一种松散类型的语言,Perl解释器本身会选择数据类型。因此,不需要在Perl编程中指定数据类型。

Perl中基本上有三种数据类型:

  • 标量:Perl标量是单个数据项。它们是简单的变量,前面带有($)符号。标量可以是数字,引用(变量的地址)或字符串。
  • 数组:Perl数组是标量的有序列表。它们以(@)符号开头,并以从0开始的索引号进行访问。
  • 哈希:Perl的哈希值是键值对的无序集合。它们前面带有(%)号,并可以使用键进行访问。

Perl字面量

在Perl中,有两种不同类型的标量常量:

  • 数值字面量
  • 字符串字面量

Perl数值字面量

Perl数字字面量是数字。 Perl在内部将数字存储为带符号整数或浮点值。

可为Perl数字字面量分配以下格式的类型:

Number Type
526 Integer
5.5 Floating point
5e10 Scientific notation
5.5E Scientific notation
5_549_63 A large number
010101 Binary number
0175 Octal number
AF0230 Hexadecimal number

看上表,

  • 整数是一组连续的数字。
  • 浮点数之间包含一个小数。在数字(234.00)右侧包含“ 0”值的数字也是浮点数。
  • 包含指数符号(e或E)的数字是科学符号。
  • 不允许在数字字面量中使用逗号,但可以使用下划线(_)代替逗号。使用此值时,Perl将删除下划线。
  • 0和1的组合表示以2为底的二进制数。
  • 前导0的数字属于以8为底的八进制数字类别。
  • 包含字母(a,b,c,d,e,f)的数字是以16为底的十六进制数字。

Perl字符串字面量

Perl字符串字面量包含一个空字符串,ASCII文本,具有高位的ASCII或二进制数据。字符串中包含数据没有限制。它们被单引号(')或双引号('')包围。

在双引号字符串允许变量插值,但在单引号字符串不允许变量插值。此外,仅双引号字符串支持反斜杠(\)前面的特殊字符。

字符串字面量的转义字符

Characters Purpose
\n Denotes newline
\r Denotes carriage return
\ t Denotes horizontal tab
\v Denotes vertical tab
\Q Backslash following all non-alphanumeric character
\a Denotes alert
\f Denotes form feed
\b Denotes backspace
\u Change next character to uppercase
\U change all following characters to uppercase
\l Change next character to lowercase
\L Change all following character to lowercase
\E Denotes \U, \L, \Q
\cX Controls characters, X is a variable
\0nn Create octal formatted numbers
\xnn Create hexadecimal formatted numbers
\\ Denote backslash
\’ Denote single quote
\” Denote double quote