Perl - 数据类型



Perl 是一种弱类型语言,在程序中使用数据时无需指定类型。Perl 解释器将根据数据的上下文本身选择类型。

Perl 有三种基本数据类型:标量、标量数组和标量哈希表(也称为关联数组)。以下是关于这些数据类型的详细信息。

序号 类型和描述
1

标量

标量是简单的变量。它们前面带有美元符号 ($) 。标量可以是数字、字符串或引用。引用实际上是变量的地址,我们将在接下来的章节中看到。

2

数组

数组是有序的标量列表,您可以使用从 0 开始的数字索引访问它们。它们前面带有“at”符号 (@)。

3

哈希表

哈希表是无序的键值对集合,您可以使用键作为下标来访问它们。它们前面带有百分号 (%)。

数字字面量

Perl 将所有数字内部存储为带符号整数或双精度浮点数。数字字面量可以用以下任何浮点数或整数格式指定:

类型
整数 1234
负整数 -100
浮点数 2000
科学计数法 16.12E14
十六进制 0xffff
八进制 0577

字符串字面量

字符串是字符序列。它们通常是由单引号 (') 或双引号 (") 分隔的字母数字值。它们的工作方式与 UNIX shell 引号非常相似,您可以在其中使用单引号字符串和双引号字符串。

双引号字符串字面量允许变量插值,而单引号字符串则不允许。某些字符在前面带有反斜杠时具有特殊含义,它们用于表示换行符 (\n) 或制表符 (\t) 等。

您可以直接在双引号字符串中嵌入换行符或以下任何转义序列:

转义序列 含义
\\ 反斜杠
\' 单引号
\" 双引号
\a 警报或铃声
\b 退格
\f 换页
\n 换行
\r 回车
\t 水平制表符
\v 垂直制表符
\0nn 创建八进制格式的数字
\xnn 创建十六进制格式的数字
\cX 控制字符,x 可以是任何字符
\u 强制下一个字符转换为大写
\l 强制下一个字符转换为小写
\U 强制所有后续字符转换为大写
\L 强制所有后续字符转换为小写
\Q 对所有后续非字母数字字符进行反斜杠转义
\E 结束 \U、\L 或 \Q

示例

让我们再次看看字符串在单引号和双引号中的行为。在这里,我们将使用上表中提到的字符串转义符,并使用标量变量来赋值字符串。

#!/usr/bin/perl

# This is case of interpolation.
$str = "Welcome to \ntutorialspoint.com!";
print "$str\n";

# This is case of non-interpolation.
$str = 'Welcome to \ntutorialspoint.com!';
print "$str\n";

# Only W will become upper case.
$str = "\uwelcome to tutorialspoint.com!";
print "$str\n";

# Whole line will become capital.
$str = "\UWelcome to tutorialspoint.com!";
print "$str\n";

# A portion of line will become capital.
$str = "Welcome to \Ututorialspoint\E.com!"; 
print "$str\n";

# Backsalash non alpha-numeric including spaces.
$str = "\QWelcome to tutorialspoint's family";
print "$str\n";

这将产生以下结果:

Welcome to
tutorialspoint.com!
Welcome to \ntutorialspoint.com!
Welcome to tutorialspoint.com!
WELCOME TO TUTORIALSPOINT.COM!
Welcome to TUTORIALSPOINT.com!
Welcome\ to\ tutorialspoint\'s\ family
广告