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 |