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