数据类型
优质
小牛编辑
137浏览
2023-12-01
Perl是一种松散类型的语言,在程序中使用时无需为数据指定类型。 Perl解释器将根据数据本身的上下文选择类型。
Perl有三种基本数据类型:标量,标量数组和标量散列,也称为关联数组。 以下是有关这些数据类型的一些细节。
Sr.No. | 类型和描述 |
---|---|
1 | Scalar 标量是简单的变量。 它们前面有一个美元符号($)。 标量可以是数字,字符串或引用。 引用实际上是变量的地址,我们将在后面的章节中看到。 |
2 | Arrays 数组是您使用数字索引访问的标量的有序列表,以0开头。它们前面有一个“at”符号(@)。 |
3 | Hashes 散列是您使用键作为下标访问的无序键/值对集合。 它们前面有百分号(%)。 |
数字文字
Perl在内部将所有数字存储为有符号整数或双精度浮点值。 数字文字以下列任何浮点或整数格式指定 -
类型 | 值 |
---|---|
Integer | 1234 |
Negative integer | -100 |
Floating point | 2000 |
Scientific notation | 16.12E14 |
Hexadecimal | 0xffff |
Octal | 0577 |
字符串常量 (String Literals)
字符串是字符序列。 它们通常是由单引号(')或双引号引号组成的字母数字值。它们的工作方式与UNIX shell引号非常相似,您可以使用单引号字符串和双引号字符串。
双引号字符串文字允许变量插值,而单引号字符串则不允许。 当它们以反斜杠进行时有某些字符,具有特殊含义,它们用于表示换行符(\ n)或制表符(\ t)。
您可以直接在双引号字符串中嵌入换行符或任何以下转义序列 -
逃脱序列 | 含义 |
---|---|
\\ | Backslash |
\' | 单引号 |
\" | 双引号 |
\a | Alert or bell |
\b | Backspace |
\f | Form feed |
\n | Newline |
\r | Carriage return |
\t | 水平标签 |
\v | 垂直标签 |
\0nn | 创建八进制格式的数字 |
\xnn | Creates Hexideciamal formatted numbers |
\cX | 控制字符,x可以是任何字符 |
\u | 强制下一个字符为大写 |
\l | 强制下一个字符为小写 |
\U | 强制所有后续字符为大写 |
\L | 强制所有后续字符为小写 |
\Q | 反斜杠所有后续非字母数字字符 |
\E | 结束\ U,\ L或\ Q. |
例子 (Example)
让我们再看一下字符串在单引号和双引号中的行为方式。 这里我们将使用上表中提到的字符串转义,并将使用标量变量来分配字符串值。
#!/usr/bin/perl
# This is case of interpolation.
$str = "Welcome to \nxnip.cn!";
print "$str\n";
# This is case of non-interpolation.
$str = 'Welcome to \nxnip.cn!';
print "$str\n";
# Only W will become upper case.
$str = "\uwelcome to xnip.cn!";
print "$str\n";
# Whole line will become capital.
$str = "\UWelcome to xnip.cn!";
print "$str\n";
# A portion of line will become capital.
$str = "Welcome to \Uxnip\E.com!";
print "$str\n";
# Backsalash non alpha-numeric including spaces.
$str = "\QWelcome to xnip's family";
print "$str\n";
这将产生以下结果 -
Welcome to
xnip.cn!
Welcome to \nxnip.cn!
Welcome to xnip.cn!
WELCOME TO xnip.cn!
Welcome to xnip.cn!
Welcome\ to\ xnip\'s\ family