Perl是一种松散类型的语言,在程序中使用时无需为数据指定类型. Perl解释器将根据数据本身的上下文选择类型.
Perl有三种基本数据类型:标量,标量数组和标量散列,也称为关联数组.以下是有关这些数据类型的一些细节.
Sr.No. | 类型&说明 |
---|---|
1 | 标量 标量是简单的变量.它们前面有一个美元符号($).标量可以是数字,字符串或引用.引用实际上是变量的地址,我们将在后面的章节中看到. |
2 | 数组 数组是您使用数字访问的标量的有序列表索引,以0开头.它们前面有一个"at"符号(&;). |
3 | 哈希 哈希是一组无序的键/值对您使用键作为下标访问.它们前面有一个百分号(%). |
数字文字
Perl在内部将所有数字存储为有符号整数或双精度浮点值.数字文字以下列任何浮点或整数格式指定 :
Type | Value |
---|---|
整数 | 1234 |
负整数 | -100 |
浮点 | 2000 |
科学记数法 | 16.12E14 |
Hexadecimal | 0xffff |
Octal | 0577 |
字符串文字
字符串是字符序列.它们通常是由单引号(')或双引号引号组成的字母数字值.它们的工作方式与UNIX shell引号非常相似,您可以使用单引号字符串和双引号字符串.
Double - 引用字符串文字允许变量插值,单引号字符串不允许.当它们以反斜杠进行时有某些字符,具有特殊含义,它们用于表示换行符(\ n)或制表符(\ t).
您可以在双引号字符串中直接嵌入换行符或以下任何转义序列 :
转义序列 | 含义 |
---|---|
\\ | 反斜杠 |
\' | 单引号 |
" | 双重报价 |
\ a | 提醒或响铃 |
\ b | Backspace |
\f | 表格提要 |
\ n | Newline |
\ r | 回车 |
\t | 水平标签 |
\v | 垂直标签 |
\ nnn | 创建八进制格式化数字 |
\ xnn | 创建Heoxideciamal格式化数字 |
\ cX | 控制字符,x可以是任何字符 |
\ u | 强制下一个字符为大写 |
\l | 强制下一个字符为小写 |
\U | 强制所有后续字符为大写 |
\ L | 强制所有后续字符为小写 |
\ Q | 反斜杠以下所有非字母数字字符 |
\ E | 结束\ U,\ L或\ Q |
示例
让我们再看一下字符串在单引号和双引号中的行为方式.这里我们将使用上表中提到的字符串转义,并将使用标量变量来分配字符串值.
#!/usr/bin/perl# This is case of interpolation.$str = "Welcome to \nIT屋.com!";print "$str\n";# This is case of non-interpolation.$str = 'Welcome to \nIT屋.com!';print "$str\n";# Only W will become upper case.$str = "\uwelcome to IT屋.com!";print "$str\n";# Whole line will become capital.$str = "\UWelcome to IT屋.com!";print "$str\n";# A portion of line will become capital.$str = "Welcome to \UIT屋\E.com!"; print "$str\n";# Backsalash non alpha-numeric including spaces.$str = "\QWelcome to IT屋's family";print "$str\n";
这将产生以下结果 :
Welcome toIT屋.com!Welcome to \nIT屋.com!Welcome to IT屋.com!WELCOME TO TUTORIALSPOINT.COM!Welcome to TUTORIALSPOINT.com!Welcome\ to\ IT屋\'s\ family