Perl 是一种弱类型语言,所以变量不需要指定类型,Perl 解释器会根据上下文自动选择匹配类型。

Perl 有三个基本的数据类型:标量、数组、哈希。以下是这三种数据类型的说明:

标量

标量是Perl语言中最简单的一种数据类型。这种数据类型的变量可以是数字,字符串,浮点数,不作严格的区分。在使用时在变量的名字前面加上一个"$",表示是标量。例如:

$myfirst=123;           #数字123 

$mysecond="123";      #字符串123

数组

数组变量以字符"@"开头,索引从0开始,如:@arr=(1,2,3)

@arr=(1,2,3)

哈希

哈希是一个无序的 key/value 对集合。可以使用键作为下标获取值。哈希变量以字符"%"开头。

%h=('a'=>1,'b'=>2);

数字自变量

一、整型

PERL实际上把整数存在你的计算机中的浮点寄存器中,所以实际上被当作浮点数看待。在多数计算机中,浮点寄存器可以存贮约16位数字,长于此的被丢弃。整数实为浮点数的特例。

整型变量及运算:

$x = ;
if ( + == ) {
# 执行代码语句块
}

二、浮点数

浮点数数据如:11.4 、 -0.3 、.3 、 3. 、 54.1e+02 、 5.41e03。

浮点寄存器通常不能精确地存贮浮点数,从而产生误差,在运算和比较中要特别注意。指数的范围通常为-309到+308。

#!/usr/bin/perl 

$value = 9.01e+21 + 0.01 - 9.01e+21;
print ("第一个值为:", $value, "\n");
$value = 9.01e+21 - 9.01e+21 + 0.01;
print ("第二个值为:", $value, "\n");
[perl@master2 perl]$ perl a.pl
第一个值为:
第二个值为:0.01

三、字符串

Perl中的字符串使用一个标量来表示,定义方式和c很像,但是在Perl里面字符串不是用0来表示结束的。

Perl双引号和单引号的区别: 双引号可以正常解析一些转义字符与变量,而单引号无法解析会原样输出。

但是用单引号定义可以使用多行文本,如下所示:

#!/usr/bin/perl 

$var='这是一个使用

多行字符串文本

的例子';
print($var);
print("\n")
运行结果:
[perl@master2 perl]$ perl a.pl
这是一个使用 多行字符串文本 的例子

Perl 语言中常用的一些转义字符如下表所示:

实例

接下来让我们来具体看看单引号和双引号及转义字符的使用:

#!/usr/bin/perl

# 换行 \n 位于双引号内,有效
$str = "菜鸟教程 \nwww.runoob.com";
print "$str\n"; # 换行 \n 位于单引号内,无效
$str = '菜鸟教程 \nwww.runoob.com';
print "$str\n"; # 只有 R 会转换为大写
$str = "\urunoob";
print "$str\n"; # 所有的字母都会转换为大写
$str = "\Urunoob";
print "$str\n"; # 指定部分会转换为大写
$str = "Welcome to \Urunoob\E.com!";
print "$str\n"; # 将到\E为止的非单词(non-word)字符加上反斜线
$str = "\QWelcome to runoob's family";
print "$str\n";

输出结果:

菜鸟教程  
www.runoob.com
菜鸟教程  \nwww.runoob.com
Runoob
RUNOOB
Welcome to RUNOOB.com!
Welcome\ to\ runoob\'s\ family

最新文章

  1. 如果你恨一个程序员 忽悠他去做iOS开发(戏谑篇)
  2. 用dos命令备份和恢复sql server 数据库
  3. 在SQL2008中使用XML应对不确定结构的参数
  4. Django~automated tests
  5. 【HDU 2203】亲和串
  6. Delphi XE10让android的界面设计摆脱繁杂
  7. 通过扩展改善ASP.NET MVC的验证机制[使用篇]
  8. STM32 PWM波
  9. xml转换为json格式时,如何将指定节点转换成数组 Json.NET
  10. SQL Server分页存储过程通用存储过程
  11. rest framework 源码流程
  12. 022 Spark shuffle过程
  13. mac OS X下Java项目环境搭建+IntelliJ IDEA Jrebel插件安装与破解+Office 2016破解版安装
  14. apache开启伪静态的方法 php篇
  15. [OpenGL红宝书]第一章 OpenGL概述
  16. iptables:no config file
  17. 【高斯消元】【异或方程组】poj1222 EXTENDED LIGHTS OUT
  18. [原创]java WEB学习笔记06:ServletContext接口
  19. Oracle备份和恢复
  20. python 查询,子查询以及1对多查询

热门文章

  1. python中requests.session的妙用
  2. RabbitMQ学习之:(八)Topic Exchange (转贴+我的评论)
  3. SSM批量添加数据
  4. redis 超时失效key 的监听触发使用
  5. swoole详解
  6. pm2 使用
  7. 20180817周在ubuntu上面使用kettle一些总结
  8. Git分块提交文件
  9. 【VS开发】关于各种View的实现总结
  10. 深入理解C语言-深入理解指针