- Perl 基础知识
- Perl - 主页
- Perl - 简介
- Perl - 环境
- Perl - 语法概述
- Perl - 数据类型
- Perl - 变量
- Perl - 标量
- Perl - 数组
- Perl - 哈希
- Perl - IF...ELSE
- Perl - 循环
- Perl - 运算符
- Perl - 日期和时间
- Perl - 子例程
- Perl - 参考资料
- Perl - 格式
- Perl - 文件 I/O
- Perl - 目录
- Perl - 错误处理
- Perl - 特殊变量
- Perl - 编码标准
- Perl - 正则表达式
- Perl - 发送电子邮件
- Perl 高级
- Perl - 套接字编程
- Perl - 面向对象
- Perl - 数据库访问
- Perl - CGI 编程
- Perl - 包和模块
- Perl - 流程管理
- Perl - 嵌入式文档
- Perl - 函数参考
- Perl 有用资源
- Perl - 问题与解答
- Perl - 快速指南
- Perl - 有用的资源
- Perl - 讨论
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 | 强制所有以下字符为小写 |
\问 | 反斜杠后面的所有非字母数字字符 |
\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